2012-07-30 91 views
1

您好我正在将我的游戏从c#/ xna移植到C++/cocos2d-x,并试图找到与Vector2相当的游戏。我确实发现了诸如b2Vec2之类的一对,我只是不确定应该使用哪一个,因为我需要它是跨平台的,而不是绑定到特定的操作系统。Vector2在C++中等价吗?

+2

我不知道如何跨平台*和*使用cocos2d ... – 2012-07-30 15:15:58

+0

'struct Vector2 {float x;浮动y; };' – 2012-07-30 15:08:29

+1

'Vector2' [方法](http://msdn.microsoft.com/zh-cn/library/microsoft.xna.framework.vector2_members)? – Zeta 2012-07-30 15:09:44

回答

4

您正在寻找的课程是名字很差的* CCPoint课程。 Cocos2d-x是Cocos2d的API的一个直接端口,它是为Objective C设计的。由于Objective C没有运算符重载,Cocos2d-x也没有,尽管它是用C++编写的,而运算符重载存在。所以你必须use free-functions to do vector operations

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

相关问题