2016-08-01 2 views
1

У меня есть SKPhysicsBody в моей сцене, что я применяю импульс, когда пользователь нажимает кнопку, чтобы заставить ее двигаться вперед. Благодаря своим свойствам он не двигается с одним краном и замедляется довольно быстро, однако с несколькими кранами он поднимает скорость, как и ожидалось.Плавное изменение направления импульса SKPhysicsBody

У меня есть еще одна кнопка, чтобы пользователь мог нажать, чтобы тело могло изменить его направление. Моя текущая реализация применяет угловой импульс к телу, чтобы повернуть его - опять же, свойства тела означают, что если пользователь несколько раз подряд нажимает кнопку поворота, то организму потребуется больше времени, чтобы остановить вращение.

В настоящее время, когда тело вращается, его импульс не меняет направление (это то, чего я ожидал бы от любой библиотеки физики) - для того, чтобы пользователь мог заставить тело двигаться в новом направлении, в котором он находится чтобы отчаянно нажать кнопку «вперед», чтобы попытаться замедлить предыдущий импульс. Разумеется, на высоких скоростях тело, похоже, скользит.

Как я могу реализовать более «автомобильную» физику для тела? «Car-like» в том, что когда тело вращается, его импульс плавно обновляется на каждом интервале в новом направлении. Можно ли это сделать просто или мне нужно использовать временную веревку, гравитационное поле или вихрь?

A diagram speaks 2000 words

+0

ли вы попробовать applyForce (_: в :)? –

+0

@SimonePistecchia Это не имеет большого значения :( –

ответ

0

Применения силы или импульса в SpriteKit применяется в терминах глобальной системы координат, а не локальная система координат целевого узла.

You'll need to manually rotate the vector of force to match the node's rotation, before applying it.

+0

Правильно, у меня это уже хорошо работает, мой вопрос в том, чтобы изменить направление импульса, а не применять импульсы в прямом направлении. –

+0

Извините, я не понял. может достичь результата, повернув свойство 'velocity' тела, чтобы он соответствовал свойствам автомобиля, когда вы его вращаете. – cpimhoff

+0

на самом деле звучит разумно, единственное, что могло бы сделать его гладким .. Я думаю, я мог проверить вращение автомобиля свойство каждое обновление и изменить его скорость, чтобы соответствовать, хотя это звучит неэффективно –

Смежные вопросы