CGPointMake origin для (0,0) в cocos2d - PullRequest
2 голосов
/ 17 ноября 2011

Я просматриваю пример кода в проекте cocos2d. Ранее я строил проект с использованием Core Graphics (Quartz), где координата (0,0) - это верхний левый угол экрана. В этом проекте, если я использую CGPointMake (0,0), он находится в левом нижнем углу. Я понимаю, что системы координат различны, но где именно программа будет указывать, какую систему координат использовать? Какой параметр или метод на самом деле делает этот переключатель?

1 Ответ

2 голосов
/ 17 ноября 2011

Нет переключателя. Если вы хотите работать с Cocos2D, привыкните к тому, что его система координат находится в нижнем левом углу экрана.

Я видел, как пользователи делают все возможное, чтобы «исправить» это, либо взломав исходный код Cocos2D, либо переопределив свойство setPosition всех узлов только для того, чтобы выяснить, что этого недостаточно. Могу поспорить, что все они сталкивались с множеством проблем, включая тот факт, что всякий раз, когда вам нужно повторно использовать чужой код, вы сталкиваетесь с необходимыми исправлениями системы координат для этого кода. Это бесконечная борьба, в которой действительно не стоит проводить какое-то время.

Вместо того, чтобы менять код, измените ваше восприятие. Привыкайте к другой системе координат и думайте в ней. Намного проще и намного меньше проблем на будущее. В конце концов, все, что вам действительно нужно изменить в своей голове, это то, что знак координаты Y изменился.

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