cocos2d-x 坐标系
写程序,和做其他的事情一样,一开始要学招式,模仿用招式,最后才可以谈创新谈无招;但是现在人好像都忽略了这个常识。没开始学呢,就天马行空的想,那是浅薄。
*****************************
我们通过CCNode的position设定元素的位置使用的是相对与其父节点的
本地坐标系而非世界坐标系坐标。世界坐标系和GL坐标系一致,原点在
屏幕左下角,x轴向右,y轴向上。
*****************************
convertToWorldSpace方法可把基于当前节点的本地坐标系下的坐标转
换到世界坐标系中。
*****************************
convertToNodeSpace方法可以把世界坐标转换到当前节点的本地坐标系
中。
*****************************
一个节点的position所使用的坐标是基于它父节点的本地坐标系,因此
我们要把node的位置转换到世界坐标系中应该调用父节点
convertToWorldSpace函数
*****************************
为什么要使用本地坐标系而非世界坐标系来指定元素的位置—物理中常用的
研究思路相对运动。
*****************************
convertToNodeSpace
CCPoint point = node1->convertToNodeSpace(node2->getPosition());
将node2的坐标转化成相对于node1的本地坐标
convertToWorldSpace
CCPoint point = node1->convertToWorldSpace(node2->getPosition());
是将node2的坐标转化成相对于node1的世界坐标,首先将node1的坐标当做世界坐标,然后让node2的坐标位置重置成相对于node1的世界坐标
convertToWorldSpaceAR
convertToNodeSpaceAR
CCPoint point3 = node1->convertToNodeSpaceAR(node2->getPosition());
convertToNodeSpaceAR,就是把node1的坐标系原点设置在锚点的位置