现在的位置: 首页 > 综合 > 正文

Cocos2D中坐标系问题

2013年09月27日 ⁄ 综合 ⁄ 共 778字 ⁄ 字号 评论关闭

Cocos2D是以OpenglES为底层图形库, 所以它采用的是OpenglES的坐标系统,即x轴向右,y轴向上。  而苹果的Quarze2D则使用的是不同的坐标系统,x轴向右,y轴向下。在初学OpenglES纹理的时候,用Quarze2D读取的图片在贴在OpenglES坐标系里图片是上下颠倒的,原因就是坐标系的不同造成的。

 

最近在学习Cocos2D的时候,用它的API进行渲染到纹理的时候也出现了上下颠倒的情况。

 

具体是这样发生的。首先我进行渲染到纹理的功能,伪代码如下:

 

 

然后我用第五步生成的精灵加到场景中,发现图是上下倒立的。因为我在第三步中我是采用的是openglES的坐标系,如果我用Quarze2D坐标系的方式去绘制,结果就是正确的。

 

还有一种解决办法,就是renderSprite.flipY = YES;

 

 

发生这种问题的具体原因不太清楚,只有看看cocos2d具体实现了。

 

 

 

 

 

 

 

抱歉!评论已关闭.