Я только начал использовать SpriteKit, и я открываю API. У меня есть объект для перемещения по экрану при нажатии и удерживании кнопки. поэтому я установил NSTimer, пока пользователь все еще удерживает и продолжает называть один и тот же метод для перемещения объекта каждые 0,1 секунды. объект движется, но, двигаясь в какой-то момент, он, как и горизонтальный переход, не имеет горизонтального перехода. поэтому я использовал NSLog, чтобы посмотреть на позицию объектов, и я выпустил, что он вычитает 10 очков, а не 0,5. вот код:точность вычитания из поплавка
SKAction *moveLeft = [SKAction moveToX:((CGFloat)[[self childNodeWithName:@"Hero"] frame].origin.x)-0.5 duration:0.1];
[[self childNodeWithName:@"Hero"] runAction:moveLeft];
Как я могу это исправить? кроме того, я понял в консоли, что координата подобна 150.000000, а не 150 или 150.0. Может ли это быть проблема?
Другой вопрос для тех, кто работал с SpriteKit раньше! в игровой сцене, и вы хотите добавить кнопку, которую вы добавите в класс сцены или в контроллер вида?
Один вопрос за сообщение. – uchuugaka
Что произойдет, если вы переместите ваш - 0.5 внутри скобки? Также убедитесь, что у вас есть пробел после минуса, чтобы не использовать унарный - – uchuugaka