Cocos2D中坐标系问题
2011-06-23 18:10
323 查看
Cocos2D是以OpenglES为底层图形库, 所以它采用的是OpenglES的坐标系统,即x轴向右,y轴向上。 而苹果的Quarze2D则使用的是不同的坐标系统,x轴向右,y轴向下。在初学OpenglES纹理的时候,用Quarze2D读取的图片在贴在OpenglES坐标系里图片是上下颠倒的,原因就是坐标系的不同造成的。
最近在学习Cocos2D的时候,用它的API进行渲染到纹理的时候也出现了上下颠倒的情况。
具体是这样发生的。首先我进行渲染到纹理的功能,伪代码如下:
然后我用第五步生成的精灵加到场景中,发现图是上下倒立的。因为我在第三步中我是采用的是openglES的坐标系,如果我用Quarze2D坐标系的方式去绘制,结果就是正确的。
还有一种解决办法,就是renderSprite.flipY = YES;
发生这种问题的具体原因不太清楚,只有看看cocos2d具体实现了。
最近在学习Cocos2D的时候,用它的API进行渲染到纹理的时候也出现了上下颠倒的情况。
具体是这样发生的。首先我进行渲染到纹理的功能,伪代码如下:
// 1: Create new CCRenderTexture CCRenderTexture *rt = [CCRenderTexture renderTextureWithWidth:textureSize height:textureSize]; // 2: Call CCRenderTexture:begin [rt beginWithClear:bgColor.r g:bgColor.g b:bgColor.b a:bgColor.a]; // 3: Draw all you want here with OpenglES // 4: Call CCRenderTexture:end [rt end]; // 5: Create a new Sprite from the texture CCSprite *renderSprite [CCSprite spriteWithTexture:rt.sprite.texture];
然后我用第五步生成的精灵加到场景中,发现图是上下倒立的。因为我在第三步中我是采用的是openglES的坐标系,如果我用Quarze2D坐标系的方式去绘制,结果就是正确的。
还有一种解决办法,就是renderSprite.flipY = YES;
发生这种问题的具体原因不太清楚,只有看看cocos2d具体实现了。
相关文章推荐
- cocos2d-x中节点间的坐标系与节点大小问题
- quick-cocos2d-x 使用CCScrollView的问题及解决方法
- 关于webrtc里面的opengl设置坐标系的问题,解决ios和android通信图像是反的问题
- cocos2d-x手机游戏开发笔记(二)--坐标系
- cocos2d-x wp8 中文显示问题 - 字体库太大
- Cocos2d-x 3.0中集成社交分享ShareSDK的详细步骤和常见问题解决
- cocos2d-x 坐标系
- 关于quick-cocos2d-x开发的热(yue)门(jing)问题
- cocos2d资源管理问题
- 如何解决cocos2d-x显示瓦片地图黑线的问题
- 引入了支付宝极简SDK后, System.loadLibrary("cocos2dcpp"); 的问题
- cocos2d-x 坐标系
- Cocos2d-X3.0bate_关于一些“无法解析的外部符号”的配置问题解决方法
- cocos2d-x 3.0rc版编译到android平台缺少cocos-ext.h头文件的问题解决
- cocos2d-x-2.0.4中使用CocosBuilder创建动画注意的问题
- cocos2d-x 从win32移植到android下的问题小结
- linux下开发,解决cocos2d-x中编译出现的一个小问题, undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
- Cocos2d-x--新建Cocos2d-x项目出现的问题--系统无法启动程序,系统找不到指定的路径
- cocos2d-x 开发中的小问题 在xcode4环境下
- cocos2d-x 接入android ,登录第三方SDK时屏幕不断闪烁刷屏的问题解决