c# - C++ 中的 Vector2 等效吗?

标签 c# c++ xna cocos2d-x

您好,我正在将我的游戏从 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/

相关文章:

c++ - 由于模板基类,从不完整类型初始化静态 constexpr

c# - 添加 .dll 作为引用。无法理解错误消息

algorithm - 基于网格的布局游戏和删除项目

c# - 如何在 C# 中调整图像大小同时保持高质量?

c# - Kendo 日历中突出显示的日期仅在警报时有效

c# - 如何在 C# 中分区或拆分 DataTable?

C++ 如何使用具有继承性的模板对象的模板集合?

c++ - vector<double>::size_type 与 double

C# XNA 4.0 异常 : "Cannot Open File"

c# - C# 中的 Google map API 地址验证