[cocos2d-x]关于坐标系】的更多相关文章

Cocos-2d中,涉及到4种坐标系: GL坐标系Cocos2D以OpenglES为图形库,所以它使用OpenglES坐标系.GL坐标系原点在屏幕左下角,x轴向右,y轴向上. 屏幕坐标系苹果的Quarze2D使用的是不同的坐标系统,原点在屏幕左上角,x轴向右,y轴向下.ios的屏幕触摸事件CCTouch传入的位置信息使用的是该坐标系.因此在cocos2d中对触摸事件做出响应前需要首先把触摸点转化到GL坐标系.可以使用CCDirector的convertToGL来完成这一转化. 世界坐标系也叫做绝…
Cocos2d-x坐标系和OpenGL坐标系相同,都是起源于笛卡尔坐标系(高中数学里面那种). 笛卡尔坐标系 笛卡尔坐标系中定义右手系原点在左下角,x向右,y向上,z向外,OpenGL坐标系为笛卡尔右手系. 屏幕坐标系和Cocos2d坐标系 标准屏幕坐标系使用和OpenGL不同的坐标系,而Cocos2d则使用和OpenGL相同的坐标系. iOS, Android, Windows Phone等在开发应用时使用的是标准屏幕坐标系,原点为屏幕左上角,x向右,y向下. Cocos2d坐标系和OpenG…
无论是搞2d还是3d开发,最需要搞清楚的就是坐标系,这部分混乱的话就没啥搞头了.所以玩cocos2d,一上来就需要先把各种与坐标有关的东西搞清楚. 1.OpenGL坐标系 Cocos2d-x使用的是OpenGL坐标系,原点在屏幕的左下角,x轴向右,y轴向上,也称为笛卡尔坐标系 2.标准屏幕坐标系 屏幕坐标默认原点是在左上角,x轴向右,y轴向下.安卓.IOS的屏幕触摸事件传入的位置信息使用的是该坐标.因此在cocos2d中对触摸事件做出响应前需要把触摸点转化为GL坐标,这里Cocos2d-x已经帮…
一张图了解cocos2d坐标系 平面直角坐标系…
Cocos-2d中,涉及到4种坐标系: GL坐标系:Cocos2D以OpenglES为图形库,所以它使用OpenglES坐标系.GL坐标系原点在屏幕左下角,x轴向右,y轴向上. getLocation()返回GL坐标系坐标点 屏幕坐标系:苹果的Quarze2D使用的是不同的坐标系统,原点在屏幕左上角,x轴向右,y轴向下. getLocationInView()返回屏幕坐标系坐标点.  ios的屏幕触摸事件CCTouch传入的位置信息使用的是该坐标系.因此在cocos2d中对触摸事件做出响应前需要…
一.笛卡儿坐标系 OpenGl坐标系为笛卡儿右手系.x向右,y向上,z向外.在cocos2d-lua中坐标系原点在屏幕的左下角,x向右,y向上,z则是指的zorder(层级). 二.世界坐标系,本地坐标系 世界坐标系的原点固定在屏幕的左下角. 本地坐标是和节点相关的坐标系,每个节点都有独立的坐标系,是以节点左下角为原点.当节点移动或改变方向时,和该节点关联的坐标系将随之移动或者改变方向. 三.锚点 锚点Anchor Point的两个参数范围在0-1 之间,他们是乘数因子.比如(0.5,0.5)表…
1.笛卡尔坐标系 左手坐标系(Direct3D坐标系),右手坐标系(Direct3D坐标系) 大拇指和食指分别相应x轴和y轴 2.UI坐标系 iOS/Android/Windows SDK中的通用UI坐标系 1)起点坐标(x=0, y=0)位于左上角 2)X轴从屏幕最左边開始.由左向右渐增 3)Y轴坐标从屏幕最上方開始,由上向下渐增 3.2d世界中我们使用xy轴的坐标系 起点坐标(x=0, y=0)位于左下角,这意味着屏幕位于 X轴从屏幕最左边開始,由左向右渐增 Y轴坐标从屏幕最下方開始.由下向…
OpenGL 坐标系 :   原点在屏幕左下角,x 轴向右,y 轴向上. UI坐标体系       :   原点在屏幕左上角,x 轴向右,y 轴向下. 屏幕坐标系:    UI 世界坐标系:  也叫绝对坐标系 :   GL,是窗口的坐标系,原点在窗口的左下角. 本地坐标系: 节点坐标系:  是Node的坐标体系,GL.每个节点都有自己的坐标系, 所以和世界体系不同的是,它的原点是节点的左下角. !!!当一个节点调用setPosition时, 使用的参数是它的父节点(渲染树)的坐标体系. !!!C…
UI坐标系与OpenGL坐标系 UI坐标就是Android和IOS等应用开发时候使用的二维坐标系,原点在左上角 OpenGL坐标是三维坐标,由于Cocos2d-x Lua 底层采用OpenGL渲染,因此默认坐标就是OpenGL坐标,只不过采用了两维(XY轴),不考虑Z轴,OpenGL的坐标原点在左下角 获得UI坐标 cc.p touchLocation = touch:getLocationInView() UI坐标转换为OpenGL坐标 cc.p touchLocation2 = cc.Dir…
游戏的在进行一次渲染的时候,通常会提交大量的渲染对象给gpu.在这些需要渲染的对象中,并不是所有对象都会出现镜头中,即有一部分对象是不可见的. 通常有两种方式来完成不可见对象的剔除工作: (1)直接交给图形库帮我剔除,即性能消耗在gpu端: (2)在提交图元给gpu前,在游戏逻辑中进行剔除,即性能消耗在cpu端: 是将剔除操作放在cpu还是gpu来处理,没有一个具体的标准,个人认为,要根据实际情况,如果逻辑方面可以快速进行剔除,可以交由cpu来处理,但是gpu在这方面经过了优化,具有更快的处理能…