2015-04-28 5 views
1

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

Поэтому я нашел, что мне нужно использовать applyForce ИЛИ applyImpulse.

В этой ситуации у меня есть круг, например, который находится за пределами экрана в начале жизни. Затем мы определяем целевую точку выхода и хотим «щелкнуть»/«надавить» узел в этом направлении.

Я не могу понять, как применитьImpulse к конечной позиции цели. У меня есть CGPoint. Мне нужно получить это в CGVector, но я не уверен, что нужно сделать. Я осмотрелся и обнаружил некоторые лучи, но они просто показывают applyForce или moveTo. Я не уверен, как рассчитать это.

+0

Вы спрашиваете, какие значения dx и dy и как они работают? – sangony

+0

Хорошо, я спрашиваю вкратце ... У меня есть начальная точка и конечная цель. Я хочу переместить этот узел (через applyImpulse) к целевой точке. Поэтому я хочу применить Impulse к конечной точке цели, тогда она должна столкнуться с чем-либо по пути изменения направления. Но я не уверен, как получить CGVector, который метод applyImpulse берет из двух точек (начало, конец цели). – StuartM

+0

Это, вероятно, то, что вы ищете http://stackoverflow.com/questions/22157138/applyimpulse-towards-cgpoint-spritekit – sangony

ответ

0

Вы можете перемещать объект, вручную изменяя положение x и y, чтобы вы могли достичь конечной точки. В функции обновления вы меняете yourObject.position.x и yourObject.position.y, если я правильно понял ваш вопрос. Если нет, будьте более ясны. Надеюсь, это поможет.

+0

Я думал, что я был явным :) Я понимаю, что могу переместить позицию на x и y, и я могу использовать moveTo, но это не будет работать с коллизиями. Поэтому мне нужно применить импульс к объекту, но не могу понять, как определить dx и dy. – StuartM

+0

О, я постараюсь понять это. – Eduard

1

Я нашел сайт, который хорошо объясняет 2D-физику.
http://www.rodedev.com/tutorials/gamephysics/

С этим я определил, какой угол должен быть, и скорость, которую я могу контролировать, и она работает хорошо.

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

  • Нет связанных вопросов^_^