convertToNodeSpace和convertToWorldSpace
2016-03-09 00:00
597 查看
摘要: cocos
这是文档中的例子,一开始我没看明白....后来我把问题简便化了.....
对于point1
不要被官方文档中的解释弄混了头脑,此处的参数直接理解成世界坐标系中的坐标
再理解成为sprite1本地坐标系下的坐标,sprite1的AP点在(0,0),因此得到point1的本地坐标(相对于sprite1)
对于point2
将函数中的参数直接理解为sprite1本地坐标系中的坐标,sprite1的AP点在(0,0)
找到这个点之后,计算其在世界坐标系下的坐标,很容易得到
要理解这个其实很简单。
1/知道世界坐标系和本地坐标系
2/知道AP点
3/
中的参数为本地坐标系的坐标
中的参数为世界坐标系的坐标
auto *sprite1 = Sprite::create("HelloWorld.png"); sprite1->setPosition(ccp(20,40)); sprite1->setAnchorPoint(ccp(0,0)); this->addChild(sprite1); //此时添加到的是世界坐标系,也就是OpenGL坐标系 auto *sprite2 = Sprite::create("HelloWorld.png"); sprite2->setPosition(ccp(-5,-20)); sprite2->setAnchorPoint(ccp(1,1)); this->addChild(sprite2); //此时添加到的是世界坐标系,也就是OpenGL坐标系 //将 sprite2 这个节点的坐标ccp(-5,-20) 转换为 sprite1节点 下的本地(节点)坐标系统的 位置坐标 Point point1 = sprite1->convertToNodeSpace(sprite2->getPosition()); //将 sprite2 这个节点的坐标ccp(-5,-20) 转换为 sprite1节点 下的世界坐标系统的 位置坐标 Point point2 = sprite1->convertToWorldSpace(sprite2->getPosition()); log("position = (%f,%f)",point1.x,point1.y); log("position = (%f,%f)",point2.x,point2.y);
这是文档中的例子,一开始我没看明白....后来我把问题简便化了.....
对于point1
Point point1 = sprite1->convertToNodeSpace(sprite2->getPosition());
不要被官方文档中的解释弄混了头脑,此处的参数直接理解成世界坐标系中的坐标
ccp(-5,-20)
再理解成为sprite1本地坐标系下的坐标,sprite1的AP点在(0,0),因此得到point1的本地坐标(相对于sprite1)
(-25.000000,-60.000000)
对于point2
Point point2 = sprite1->convertToWorldSpace(sprite2->getPosition());
将函数中的参数直接理解为sprite1本地坐标系中的坐标,sprite1的AP点在(0,0)
ccp(-5,-20)
找到这个点之后,计算其在世界坐标系下的坐标,很容易得到
(15.000000,20.000000)
要理解这个其实很简单。
1/知道世界坐标系和本地坐标系
2/知道AP点
3/
convertToWorldSpace
中的参数为本地坐标系的坐标
convertToNodeSpace
中的参数为世界坐标系的坐标
相关文章推荐
- node.js获得参数的三种方式。
- nodejs npm 全局安装路径和本地安装路径区别
- nodejs介绍
- [nodejs] nodejs开发个人博客(三)载入页面
- pomelo nodejs 调试走起
- JS nodeType返回类型
- LeetCode : Reverse Nodes in k-Group [java]
- 第一天:NodeJs Windows环境搭建、学习资料地址、注意事项总结
- Node.js笔记之简介
- [node] ejs模板手册
- leetcode 25. Reverse Nodes in k-Group
- leetcode 24. Swap Nodes in Pairs
- [nodejs] cookie操作
- Wrtnode 配置方法:
- [LeetCode][JavaScript]Swap Nodes in Pairs
- [leetcode] 237. Delete Node in a Linked List
- Linode主机搭建(一)—— 注册账号和申请机器
- NodeJs初识模块开发
- 关于node引入到项目中的交流对话
- nodejs学习笔记四——express-session