游戏人生

不积跬步,无以至千里;不积小流,无以成江海。

导航

编辑器框架的思考

为了将UI逻辑和编辑逻辑分离,我考虑一下方法:

1.UI使用脚本控制

2.抽象接口

第一种的话,可能本身实现也比较复杂,没一种UI都要实现脚本支持,可能需要自己写实现.而且,我以前看到的一片老外文章说引擎本身不提供脚本功能.呵呵,可能意思是到了游戏逻辑的时候才考虑脚本,这篇文章可以在GameRes上找到.

第二种,关键问题是如何做接口:

A 定义成最小接口的单独UI控件

B 抽象出编辑器需要的特定功能


A方案象太庞大太复杂了,等于把所有UI控件都封装一遍,然后这套UI接口可以用不同的库来实现,例如MFC,Xwindow等等,所有的逻辑都被隔离出来单独写,包括创建哪些风格UI之类的东西.

B方案,抽象出需要的UI类型, 比如模型选择UI,材质选择UI等等.这样的抽象更高级,但是可能需求变动比较大,接口会经常调整,对应的实现也要改.
A方案可以做到逻辑跟具体UI完全分离.我所理解的纯粹的MVC..呵呵.

但个人更偏重B方案,原因第一全部把UI抽象一遍,系统太庞大,工作量大不现实,而且现在已经有跨平台的UI库,可以直接用.第二这样做工作量小,即使要换一套UI实现,也比较容易.
它只是封装了UI的部分逻辑,但是编辑的逻辑还是分开出来的.

正在继续考虑中..

posted on 2010-05-24 18:36  crazii  阅读(503)  评论(0编辑  收藏  举报