Я создаю верхнюю игру «гонщик», если вы будете в Spritekit. Тем не менее, я уже застрял в создании игрового процесса. Вы управляете автомобилем сверху вниз, который всегда ездит с постоянной скоростью. Игрок может нажать две кнопки, чтобы повернуть автомобиль влево или вправо. Скорость должна оставаться постоянной, но zRotation автомобиля должна измениться. Изменение zRotation не проблема, но определение новой скорости автомобиля.Spritekit сверху вниз поворотное движение персонажа
Я сейчас работаю с векторами, так сказать каждый раз, когда игрок нажимает на кнопку «Turnleft» zRotation изменений автомобиля с 45 градусов и с постоянной скоростью 20, новая скорость будет:
player.physicsBody.velocity = CGVectorMake(14.14, 14.14);
Дано с использованием sin и cos 45 градусов и суммы векторов, дающих постоянную скорость 20 (треугольник с двумя углами 45 градусов и одной стороной 20).
Однако я не знаю, как я должен делать эту переменную каждый раз, когда игрок держит кнопку turnLeft, и если я должен использовать действия или функцию обновления. Игрок должен управлять кругом, если он навсегда удерживает кнопку turnLeft. Любая помощь приветствуется! Благодарю.
Это прекрасно работает! Он по-прежнему работает только нажатием кнопки. Есть ли способ сделать его согласованным до тех пор, пока нажата кнопка? – Jeroen
Используете ли вы 'SKSpriteNode' для каждой кнопки? Или 'UIButton'? – ABakerSmith