Мой игрок SKSpriteNode
.Я перемещаю это с CGVectors
и player.physicsBody!.applyImpulse()
.Это работает нормально, но, когда мой игрок движется, он, похоже, заикается влево и вправо.Чтобы исправить это, я попытался изменить некоторые из свойств physicsBody
.В функцию update
я добавил эту строку кода: player.physicsBody?.friction = 0
.Это все еще ничего не изменило.Поэтому я подумал, что это заикание было вызвано тем, что игрок касался земли.Поэтому я добавил новую строку кода в функцию обновления: player.position.y += 1
.Конечно, из-за характера этого решения игрок теперь заикался вверх и вниз, но мог без проблем перемещаться влево и вправо.Это показывает мне, что проблема в некотором типе силы, когда игрок касается земли.Как я могу остановить заикание игрока?
Редактировать: Я думаю, что было бы полезно также знать, что моя «земля» на самом деле представляет собой кучу SKSpriteNode
, расположенных рядом друг с другом, чтобы сделать этовыглядеть как карта тайлов.
Редактировать: Физика тела моего игрока была настроена с использованием этой строки кода: player.physicsBody = SKPhysicsBody(rectangleOf: player.size)