Cocos坐标之convertToNodeSpaceconvertToWorldSpaceconvertToNodeSpaceARconvertToWorldSpaceAR区别和用法

Posted steamedbun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cocos坐标之convertToNodeSpaceconvertToWorldSpaceconvertToNodeSpaceARconvertToWorldSpaceAR区别和用法相关的知识,希望对你有一定的参考价值。

convertToNodeSpace、convertToWorldSpace、convertToNodeSpaceAR、convertToWorldSpaceAR,在他们的下一层看到下面的注释:

/**
* Converts a Point to node (local) space coordinates. The result is in Points.
*/
Point convertToNodeSpace(const Point& worldPoint) const;
/**
* Converts a Point to world space coordinates. The result is in Points.
*/
Point convertToWorldSpace(const Point& nodePoint) const;
/**
* Converts a Point to node (local) space coordinates. The result is in Points.
* treating the returned/received node point as anchor relative.
*/
Point convertToNodeSpaceAR(const Point& worldPoint) const;
/**
* Converts a local Point to world space coordinates.The result is in Points.
* treating the returned/received node point as anchor relative.
*/
Point convertToWorldSpaceAR(const Point& nodePoint) const;
/**
* convenience methods which take a Touch instead of Point
*/
Point convertTouchToNodeSpace(Touch * touch) const;
/**
* converts a Touch (world coordinates) into a local coordinate. This method is AR (Anchor Relative).
*/
Point convertTouchToNodeSpaceAR(Touch * touch) const;
具体的解释注释

convertToNodeSpace、convertToWorldSpace,都是以参照物的坐下角作为坐标点原点,向右和向上创建坐标系。

-convertToNodeSpace,获得的坐标相对于参照物的坐标。

-convertToWorldSpace,获得的坐标是参照物所在的坐标系中的坐标,即转换到参照物的世界坐标。

convertToNodeSpaceAR、convertToWorldSpaceAR,是以参照物的锚点为原点,向右、向上创建坐标系。

-convertToNodeSpaceAR,获得的坐标相对于参照物的坐标(此时坐标系的原点在参照物的锚点)。

-convertToWorldSpaceAR,获得的坐标是参照物所在的坐标系中的坐标,即转换到参照物的世界坐标(此时坐标系的原点在参照物的锚点)。

这样理解,有AR的是以参照做的锚点作为新建坐标系的原点,没有AR的是以参照物的左下角作为新建坐标系的原点。

以上是关于Cocos坐标之convertToNodeSpaceconvertToWorldSpaceconvertToNodeSpaceARconvertToWorldSpaceAR区别和用法的主要内容,如果未能解决你的问题,请参考以下文章

convertToNodeSpace 与 convertToWorldSpace 的使用

cocos2dx 中如何把精灵移动到触摸点

cocos2d 转换坐标

cocos2d-x 中如何 实时 获得一个精灵坐标~~~

Cocos2d坐标系

cocos2dx-3.0------LabelLabelTTFLabelAtlasLabelBMFont使用之法