标签:
convertToWorldSpace 这个是将坐标转换到游戏世界坐标。因为一个精灵有一个坐标通过 getPosition来得到,但是这个坐标是一个相对于parent的坐标 所以实际的绝对坐标是取决于parent的position。所以通过getParent()->convertToWorldSpace就可以将这个坐标转换成游戏的绝对坐标。
转换成世界坐标后 就可以和其他不在一个坐标系下的精灵转换到了同一个坐标系下 这样就可以进行坐标的计算了。
计算完坐标 如果需要重新设置精灵的坐标 那么 这时候又要转换回相对坐标了(因为setPosition 也是设置的相对坐标) 这时候调用getParent()->convertToNodeSpace
即可转换回来 调用setPosition来设置。
总结:例如
r0为根节点
r1的父节点是r0
r2的父节点是r1
要想得到r2的世界坐标则 r2->getParent()->convertToWorldSpace(r2->getPostion());
[自己理解:将r2->getParent()转换成世界坐标,然后将r2->getPostion()转换成当前世界坐标下的坐标]
要想得到r2相对父节点的坐标 则 r2->getParent()->convertToNodeSpace(r2->getPostion());
[自己理解:将r2->getPostion()坐标转换成相对r2->getParent()的相对坐标]
convertToNodeSpace 与 convertToWorldSpace 的使用
标签:
原文地址:http://www.cnblogs.com/guangyun/p/5286375.html