Cocos2dx 坐标系

作者: 33b882c6c780 | 来源:发表于2018-01-25 23:58 被阅读56次

举个例子

图中的node1对应sprite1,node2对应sprite2.


坐标.jpg

1 convertToNodeSpace

理解:相当于我们将sprite2这个节点添加到(实际没有添加,只是这样理解)sprite1这个节点上,那么就需要使用sprite1这个节点的节点坐标系统,这个节点的节点坐标系统的原点在(20,40),而sprite1的坐标是(-5,-20),那么经过变换之后,sprite1的坐标就是(-25,-60)。

Point point1 = sprite1->convertToNodeSpace(sprite2->getPosition()); 

即:(-5-(20),-20-(40))即(-25,-60)

2 convertToWorldSpace

理解:此时的变换是将sprite2的坐标转换到sprite1的世界坐标系下,而其中世界坐标系是没有变化的,始终都是和OpenGL等同,只不过sprite2在变换的时候将sprite1作为了”参照“而已。所以变换之后sprite2的坐标为:(15,20)
通俗一点理解就是,sprite2的坐标在sprite1节点左下角(原点)坐标的基础上加上sprite2的坐标(也即基于sprite1原点的平移,平移坐标就是sprite1的ccp(-5,-20))就可以得到sprite2变换后的坐标:(15,20)=sprite1原点坐标(20,40)+ 平移(-5,-20)

Point point2 = sprite1->convertToWorldSpace(sprite2->getPosition());

3

convertToNodeSpaceAR
convertToWorldSpaceAR
就是在1,2的基础上加上锚点。

4 得到本节点的世界坐标

auto mWorldPosi=node->convertToWorldSpaceAR(Vec2(0,0));

5 当前节点转换到某一节点坐标之下

坐标转换.png

相关文章

  • Cocos Creator 教程 : 坐标系统

    主要简单讲解下坐标系统,由于Creator是基于Cocos2dx,也就是使用OpenGL的坐标系,即原点在屏幕左下...

  • Cocos Creator 教程 : 坐标系统

    主要简单讲解下坐标系统,由于Creator是基于Cocos2dx,也就是使用OpenGL的坐标系,即原点在屏幕左下...

  • Cocos Creator 教程 : 坐标系统

    主要简单讲解下坐标系统,由于Creator是基于Cocos2dx,也就是使用OpenGL的坐标系,即原点在屏幕左下...

  • Cocos2dx 坐标系

    举个例子 图中的node1对应sprite1,node2对应sprite2. 1 convertToNodeSpa...

  • Cocos2dx lua Xcode Mac

    Cocos2dx lua Xcode Mac 1. 下载Cocos2dx 相关文件 2. 新建Cocos2dX l...

  • iOS制作cocos2dx lua SDK

    初识cocos2dx框架cocos2dx项目结构(cocos2dx 3.17) 原生SDK OC语言的桥接文件 l...

  • cocos2dx 安装使用

    刚刚接触学习Cocos2dx游戏开发,记录分享一下我学习的过程。 cocos2dx游戏开发,Cocos2dx则是开...

  • Cocos2dx 小技巧(十三)聊聊坐标系

    未来,谁说得准呢? 有段时间没用到onTouchBegan,近来写代码时发现对convertToGL(),getL...

  • 单目相机标定___一、原理

    原理:成像模型的坐标系为:世界坐标系 --> 相机坐标系 --> 图像坐标系 --> 像素坐标系 先说从相机坐标系...

  • WebGL知识点

    数学基础 坐标系:笛卡尔坐标系、极坐标等多坐标系:世界坐标系、物体坐标系、摄像机坐标系、惯性坐标系;向量、向量运算...

网友评论

    本文标题:Cocos2dx 坐标系

    本文链接:https://www.haomeiwen.com/subject/mekewxtx.html