2012-07-30 61 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

*:如果你想知道爲什麼它的名字很差,「矢量」涵蓋了「點」(空間內的位置)和「方向」(空間中的方向)的概念。矢量可以是這些中的任何一個。添加矢量在幾何上具有特定的含義,如減去它們,將它們相乘,取長度等等。將點添加到另一點幾何上是無意義的。您只能添加矢量方向,而不是位置。你可以將位置轉換到另一個空間,但是你不會通過向另一個位置添加一個位置來實現。