我有一个用C++编写的游戏引擎设计,其中平台无关的游戏对象包含在平台特定的应用程序对象中。在独立于平台的设计中传递特定于平台的数据?
我试图解决的问题是我需要从应用程序传递特定于操作系统的数据到游戏的情况。在这种情况下,我需要将Windows的DirectX主要HWND或其他平台的OpenGL上下文传递给我正在使用的渲染器。不幸的是,我无法控制渲染器,它可以预期特定于平台的数据。
我意识到我可以初始化应用程序方面的渲染器,但我宁愿让游戏决定何时何地做这件事。一般来说,我可以控制应用程序方面,而不是游戏方面。游戏作者可能会选择使用不同的渲染器。
我也喜欢有一种“物业经理”的想法,我可以通过字符串传递数据,但我不太喜欢这个想法。
任何想法?
如果游戏对象是平台独立的,那么为什么它需要通过平台相关变量? – 2010-01-25 15:10:41
好问题!长话短说,我们可以控制应用程序类,但不能控制渲染器或游戏类。 这只是我们目前正在探索的内容。 – djcouchycouch 2010-01-25 15:27:21