cocos2d ccTouchMoved обнаруживает столкновение спрайтов только с одной стороны - PullRequest
0 голосов
/ 14 марта 2012

В игре Flight Control самолеты могут приземляться, только если они прибывают с правой стороны аэродрома.Как это работает?С чего начать?

У меня есть спрайт, которым я могу управлять при рисовании пути.Теперь я хочу «приземлить» свой спрайт, когда речь идет о правой стороне аэродрома.

1 Ответ

0 голосов
/ 14 марта 2012

Без дополнительной информации о вашей проблеме, я могу догадаться следующее:

Как только вы обнаружите столкновение со спрайтом взлетно-посадочной полосы, сравните координаты спрайта самолета со спрайтом взлетно-посадочной полосы, и вы должны понять, на какой стороне он находится.

Важно также то, в каком направлении движется самолет. В Air Control самолеты, которые касаются посадочной стороны полосы, не приземляются, если они также не движутся в правильном направлении.

Это можно сделать, сравнив вектор скорости вашего плоского спрайта с приемлемым вектором посадки для рассматриваемой взлетно-посадочной полосы, возможно, используя точечное произведение нормализованных векторов. Если скалярное произведение между ними достаточно близко к 1, то вы говорите, что ему удалось приземлиться.

...