В cocos2d-iphone проекция по умолчанию - это «3D» проекция. Но вы также можете установить проекцию на «2D», как так:Каковы веские причины для 2D-проекции с cocos2d-iphone?
[[CCDirector sharedDirector] setProjection:CCDirectorProjection2D];
За кулисами проекция 3D использует перспективную проекцию, тогда как 2D проекция орфографический проекции OpenGL. The technical details about these two projection modes can be reviewed here, это не, что я заинтересован в.
Каковы преимущества и недостатки 2D-проекции для cocos2d пользователей? Каковы веские причины для перехода на 2D-проекцию?
Лично я использовал 2D-проекцию, чтобы использовать глубинную буферизацию для изометрических фрагментов. Изометрические tilemaps требуют этого для правильного упорядочения z плиток и объектов на tilemap.
Я также использовал 2D-проекцию с буферизацией глубины в проектах, не связанных с tilemap, чтобы получить полный контроль порядка z через свойство vertexZ. В этом проекте использовалось псевдо-изометрическое отображение, где вершина Z объекта основана на его координате Y.
Это означает, что я использовал 2D-проекцию только для использования свойства vertexZ, что также требует включения буферизации глубины. Есть ли другие причины, по которым вы захотите переключиться на 2D-проекцию?
Спасибо, что задали этот вопрос. – johnbakers