2

假设我用 C++ 编写了一个游戏引擎。是adPlayer(Vec3f position, Model playerModel), addExplosion(Vec3f position, Size explodeSize)等函数。

现在,可以在某种测试类中调用这些函数,然后可以编译和运行项目。这需要永远。

理想的是有一些基本的文本编辑器,我可以在其中键入这些函数,按 ctrl+u 然后这会以某种方式调用游戏引擎的预编译函数。例如,它不会重新编译游戏引擎。

这将如何完成?

4

2 回答 2

2

通常,您会将引擎编译为 .dll 并将其链接到您的项目。然后,您可以只链接该函数,如果您只想使用这些函数,则不必编译它。

于 2012-07-16T14:18:10.220 回答
2

如果您询问设计迭代,您可以创建一种数据格式,在场景图中读取并转换为实体。您需要使用工厂模式。您可以使用序列化库,其中每个对象都知道如何读取/写入/持久化自身。

通过拥有代表游戏状态“快照”的数据格式,您可以从游戏和编辑器中读取/保存它。稍后,您可以通过在运行时重新读取数据的函数来对正在运行的游戏实例进行设计更改

现在似乎您可能已经硬编码/混合了客户端代码和引擎代码,这可能很难分开。

如果您询问编译,那么您将希望编译为库(.dll 或静态 .lib/.so)。然后针对您的引擎库编译您的客户端/特定代码。他们应该在单独的项目中。

于 2012-07-16T14:18:44.343 回答