[引擎工具]游戏编辑器框架

     《游戏创造》08年第二期有一篇关于“wxWidget游戏编辑器框架”开发的文章,作者使用过unreal引擎,熟悉unreal编辑器实现细节。该作者建议采用wWidget开发界面,这是个好主意,但还有更好的选择^_^。

我来说下我们项目的编辑器框架。

一.编辑器采用三层结构:
1. 界面层:采用C#实现编辑器的界面,因为C#提供了非常便利的界面编程及UI组件。
2. 中间层:采用托管C++,主要是实现编辑工作的中间代码。
3. 底层:纯C++,既能被编辑器使用,也可以被游戏调用。
  [引擎工具]游戏编辑器框架

二.采用这个框架的优势:
1. 界面层用C#实现,有.Net Framework的支持,最大限度降低了界面开发的难度;每个控件每个属性msdn都有详细的说明及示例,你任何一个界面问题,网上有无数的帖子文章可以找到解决方法。
2. 中间层用托管C++,封装了编辑器各种编辑功能具体实现,即可以使用纯C++,也可以享受托管带来的便利,因为托管C++也可以调用.Net Framework!
3. .Net Framework提供了丰富的功能库,让编辑器层代码大大减少而且简洁。
4. 如果以后我们想在编辑器里加入支持数据库的功能,比如游戏数据浏览等等,那么.Net的威力就完全可以体现出来了,数据库对.Net简直就是看家本事。
5. wxWidget开源做的再好,也不可能比商业的好; wxWidget参考资料少碰到问题得自己琢磨;wxWidget只是界面开发库,而.Net是一个开发平台。

结论:除非想作一个跨平台的编辑器比如unreal,那么wxWidget是最好的选择,否则就采用我说的框架。不要看了unreal源码就照抄它的框架,人家是跨平台的,你呢。我们还是老老实实的在windows平台上用最可靠最便利的技术。

附注:很多人因为自己对托管C++不熟,就说C#跟托管C++结合使用有问题。以托管有问题为借口,掩饰自己的知识面不足,反感这样的态度。

你可能感兴趣的:(编辑器)