В чем разница между сенсорным расположением Cocos2d в InView, covertToGL и convertToNodeSpace? - PullRequest
4 голосов
/ 02 августа 2011

Я новичок и запутался с ними.В консоли их расположение имеет разные значения.Итак, в чем смысл их?

1 Ответ

9 голосов
/ 02 августа 2011

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

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

В то время как convertToNodeSpace будет использоваться, например, в играх на основе плиток, где у вас большая карта.convertToNodeSpace преобразует ваши сенсорные координаты openGL в координаты карты .tmx или чего-либо подобного.

Например, рассмотрите следующий рисунок.у вас может быть карта размером (1000, 2000).

Теперь, когда вы впервые коснетесь экрана, координаты будут сохранены в обычном портретном режиме, который после преобразования в openGL даст вамскажем, правильные координаты на экране (100 100).Но ваше текущее местоположение на карте (800 800).Чтобы получить это местоположение, вам нужно convertToNodeSpace.

Надеюсь, это поможет.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...