#android #andengine
#Android #andengine
Вопрос:
Когда я создаю спрайт в (0,0), и он центрируется на экране, и я спрашиваю камеру, каков его центр (getCenterX и getCenterY), он говорит (640,400).
Я довольно новичок в Andengine, поэтому в координатах явно есть что-то базовое, чего я не понимаю.
Комментарии:
1. Я тоже столкнулся с этим, но как-то справился: P
Ответ №1:
Обратите внимание, что принятая версия больше не действительна. Теперь координаты AndEngine изменились на нижний левый угол экрана, например, cocos-2d.
Комментарии:
1. Я думаю, что это верно для ветки GLES2-AnchorCenter
Ответ №2:
Если вы используете камеру по умолчанию, спрайт, размещенный на 0,0, будет в верхнем левом углу экрана. Если вы переместили камеру, 0,0, конечно, может быть в «центре» экрана.
Примечание: масштабирование спрайта приводит к его уменьшению к центру (а не к верхнему левому углу), поэтому спрайт, который занимает весь размер экрана, будет отображаться в центре при уменьшении (вместо того, чтобы уменьшаться до верхнего левого угла)
Комментарии:
1. Спасибо! А как насчет пропорций? Каковы «единицы измерения» по умолчанию для каждого из них? Правильно ли я понимаю, что если масштаб камеры равен 1.0, то одна единица спрайта соответствует одному пикселю?
2. Это один пиксель выбранной вами CAMERA_WIDTH и HEIGHT. Имейте в виду, что это будет изменяться на разных устройствах в зависимости от размера их экрана, и поэтому на самом деле это не будет реальный пиксель экрана на любом устройстве, которое точно не соответствует выбранным вами размерам. Например, если вы выбрали 480×800, его размер будет изменен на 320×480 как 289/480 (от отношения 1.6 до 1.5)