【发布时间】:2012-11-12 14:53:32
【问题描述】:
我目前正在开发一个游戏项目,所以我正在用 C# 开发我的编辑器,因为在 C++ 中完成它需要很多时间,所以为了提高效率,我使用 C# 作为编辑器的主要语言,以便快速获得结果.
但是,是否可以在 C# 中创建一个游戏编辑器来创建 C++ 可以读取的 C# 对象,或者在 C# 中创建一个游戏编辑器来创建可以在 C++ 中使用的 C++ 对象?
这是因为 C# 是 RAD 环境,所以开发 Windows 应用程序很快,但 C++/DirectX 可能是最好的游戏环境。
由于它们都是 .NET Framework 的一部分,因此有什么方法可以将两者结合起来?
【问题讨论】:
-
您在寻找COM objects吗?
-
告诉我为什么你的引擎应该使用 C++。普通 C++ 不是 .NET Framework 的一部分。如果您提到托管 C++,那么它与 C# 相同,但使用 C++ 语法。
-
我猜你并不需要将对象直接从编辑器传递到游戏引擎。相反,您可能希望将在编辑器中创建的对象保存在文件中,然后能够从 C++ 代码中读取对象。为此,JSON 或 XML 应该很有用。
-
注意:C++ 不是 .NET 框架的一部分。
-
@BenVoigt 好的,GPB 听起来不错,但性能要求可能被夸大了。我想您通常不会在游戏编辑器中定义大量对象,而是定义游戏关卡初始状态的几十个或几百个对象,您需要加载它们一次。基于文本的格式具有人类可读的优势,并且可以在您开发编辑器时更轻松地调试它。
标签: c# c++ cross-language multiple-languages