-->

有什么理由让2D投影用的cocos2d-iphone?(What are good reasons

2019-06-25 12:22发布

在cocos2d-iphone默认的投影类型是“3D”投影。 但你也可以设置投影到“2D”,像这样:

[[CCDirector sharedDirector] setProjection:CCDirectorProjection2D];

幕后的3D投影使用透视投影而2D投影是OpenGL的正投影。 关于这两种投影模式的技术细节可以在这里审查 ,这不是我感兴趣的东西。

什么是cocos2d的用户的利益和2D投影的缺点? 有什么充分的理由以切换到2D投影?

我个人已经使用2D投影能够使用深度缓冲等距tilemaps。 等距tilemaps需要此有关tilemap的瓷砖和对象的正确ž排序。

我还用在非tilemap的项目深度缓冲2D投影获得通过vertexZ财产完整Z顺序控制。 这个项目中使用,其中的物体的vertexZ是基于其y坐标的伪立体显示。

这意味着我已经使用2D投影只能够使用vertexZ属性,这也需要启用深度缓冲。 是否还有其他的原因之一,可能要切换到2D投影?

Answer 1:

切换到2D投影是在以下情况下生命的救星:

  1. 您创建一个大CCRenderTexture

  2. 你画上了一堆东西,或者使用[...访问]或OpenGL绘图功能

  3. 您的渲染纹理添加到您的层,例如,为了让您在点2提请东西作为背景为您的游戏。

与3D投影,纹理将与垂直和/或水平的断层线被渲染。 例如,参见http://www.cocos2d-x.org/boards/6/topics/16197这是cocos2d的-X,但我观察到同样的效果也了cocos2d-iphone和设置投影到二维摆脱了问题。



Answer 2:

我已经切换到2D投影作为唯一的手段与CClabels解决字体渲染的问题,无论是字体文件和基于TTF-标签。 这并不总是一个字体问题的原因,但它解决了一些问题,对我来说,当一切都失败了。



文章来源: What are good reasons to enable 2D projection with cocos2d-iphone?