cocos2d的坐标系

使用cocos2d来写程序时,经常会遇到世界坐标系,本地坐标系等概念。与之对应的是convertToGL, convertToWorldSpace, convertToNodeSpace等函数。这边简单的做一点摘记。

  • GL坐标系
cocos2d使用的opengl坐标系,即左下角为坐标原点(0,0)。x轴正方向向右,y轴正方向向上。

  • 屏幕坐标系
苹果使用的坐标系的左上角为坐标原点(0,0)。x轴正方向向右,y轴正方向向下。在cocos2d中touch事件传入的位置信息即使用的是这个坐标系。所以在对传入的坐标位置进行运算之前需要先把该位置点转换为GL坐标,可以使用CCDirector的convertToGL函数来实现。

  • 世界坐标系
世界坐标系也叫做绝对坐标系。CCNode有相应的父子层次关系,我们使用CCNode的position得到的位置信息是其相对于父节点的相对坐标,而不是绝对坐标。最后cocos2d在进行绘制的时候会把所有的相对坐标映射成世界坐标。世界坐标和GL坐标一致,我们可以使用CCNode的convertToWordSpace来实现世界坐标的转换。

  • 本地坐标系
本地坐标系也叫做物理坐标系,每个物体都有自己的坐标系,当物体的运动位置或方向改变时,相应的坐标系也会发生改变。假设Node1的坐标为(40,40),Node2的坐标为(10,10)。两个Node的锚点都为(0,0)。如果调用[Node2 convertToNodeSpace:Node1.position]得到的位置应该是(30,30)。


转载一个链接: http://blog.163.com/zjf_to/blog/static/201429061201292193855498/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值