Я делаю базовое приложение, которое толкает фигуры по экрану и обнаруживает столкновение с комплектом Sprite. Моя первая попытка заключалась в использовании moveTo
на узлах. Проблема, с которой я столкнулся, заключалась в столкновении, объекты вращались вокруг друг друга, а не отскока.Примените импульс к SKNode для перемещения по экрану и обнаружения столкновения
Поэтому я нашел, что мне нужно использовать applyForce
ИЛИ applyImpulse
.
В этой ситуации у меня есть круг, например, который находится за пределами экрана в начале жизни. Затем мы определяем целевую точку выхода и хотим «щелкнуть»/«надавить» узел в этом направлении.
Я не могу понять, как применитьImpulse к конечной позиции цели. У меня есть CGPoint. Мне нужно получить это в CGVector, но я не уверен, что нужно сделать. Я осмотрелся и обнаружил некоторые лучи, но они просто показывают applyForce или moveTo. Я не уверен, как рассчитать это.
Вы спрашиваете, какие значения dx и dy и как они работают? – sangony
Хорошо, я спрашиваю вкратце ... У меня есть начальная точка и конечная цель. Я хочу переместить этот узел (через applyImpulse) к целевой точке. Поэтому я хочу применить Impulse к конечной точке цели, тогда она должна столкнуться с чем-либо по пути изменения направления. Но я не уверен, как получить CGVector, который метод applyImpulse берет из двух точек (начало, конец цели). – StuartM
Это, вероятно, то, что вы ищете http://stackoverflow.com/questions/22157138/applyimpulse-towards-cgpoint-spritekit – sangony