2

嗨,我正在将我的游戏从 c#/xna 移植到 c++/cocos2d-x,我试图找到一个与 Vector2 等效的版本。我确实找到了一对,比如 b2Vec2,我只是不确定我应该使用哪一个,因为我需要它是跨平台的,而不是绑定到特定的操作系统。

4

1 回答 1

3

您要查找的类是名称不佳的*CCPoint类。Cocos2d-x 是 Cocos2d API 的直接端口,它是为 Objective C 设计的。由于 Objective C 没有运算符重载,Cocos2d-x 也没有,即使它是用存在运算符重载的 C++ 编写的。所以你必须使用自由函数来做向量运算

*:如果您想知道为什么它的名字不好,“向量”涵盖了“点”(空间中的位置)和“方向”(空间中的方向)的概念。向量可以是这些中的任何一个。添加向量在几何上具有特定的含义,与它们相减、相乘、取长度等一样。将一个点添加到另一个点在几何上是无意义的。您只能添加矢量方向,而不是位置。您可以将位置转换为另一个空间,但不能通过将一个位置添加到另一个位置来实现。

于 2012-07-30T15:37:15.373 回答