您好,我正在将我的游戏从 c#/xna 移植到 c++/cocos2d-x,并且我试图找到与 Vector2 等效的版本。我确实找到了一些,例如 b2Vec2,我只是不确定应该使用哪一个,因为我需要它是跨平台的,而不是绑定(bind)到特定的操作系统。
最佳答案
您正在寻找的类(class)名称不佳* CCPoint
类(class)。 Cocos2d-x 是 Cocos2d API 的直接移植,Cocos2d 是为 Objective C 设计的。由于 Objective C 没有运算符重载,Cocos2d-x 也没有,尽管它是用存在运算符重载的 C++ 编写的。所以你必须use free-functions to do vector operations .
*:如果您想知道为什么它的命名很糟糕,“vector ”涵盖了“点”(空间内的位置)和“方向”(空间中的方向)的概念。空间)。 vector 可以是其中任何一个。 vector 相加在几何上具有特定的含义, vector 相减、相乘、求长度等也具有特定的意义。将一个点与另一个点相加在几何上是无意义的。您只能添加 vector 方向,而不能添加位置。您可以将位置转换为另一个空间,但不能通过将一个位置添加到另一个位置来实现这一点。
关于c# - C++ 中的 Vector2 等效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11724179/