剑孤寒的小站

人生的价值不是用时间,而是用深度去衡量的!
posts - 75, comments - 290, trackbacks - 0, articles - 0

新GUI&GUI编辑器制作中(图+Demo)

Posted on 2012-07-18 12:55 剑孤寒 阅读(880) 评论(0)  编辑 收藏 引用 所属分类: 游戏编程
    此次修改对整个GUI系统进行了重新设计,重写了大部分代码,同时,GUI编辑器也做了相应修改,因为GUI整个结构都发生了很大的变化,所以GUI编辑器的修改几乎相当于重写了。
    GUI系统主要的修改是增加了很多如tooltip、模态对话框等功能的支持,文字和贴图的显示,消息传递等功能做了整合,使之更容易扩展,以前做一个简单的界面都要继承N个控件,现在只需要将所有代码丢到主窗口即可,而且由于重新设计的GUI框架,使得一切操作都很简单自然,不用像以前一样要写N多复杂的代码才能实现一个简单的功能。不过由于时间关系,还有很多NB的功能没有加进来,不过现在的GUI框架要加新功能都很简单,例如动态换肤功能,只要发一个消息让所有控件把自己的RenderState换掉即可,还有像窗口裁剪功能,只需要在OnRender里设一下剪裁区域即可。
    GUI编辑器在原有编辑器基础上新增了皮肤编辑功能,并对控件创建等细节做了很多优化,使之更容易使用,另外还增加了一个重载资源功能,可以同时编辑GUI纹理和GUI界面,不用因为GUI纹理改了,而要重新打开整个工程。在GUI列表的设计上之前想了两种方案,一种是基于引擎GUI父子控件结构的GUI列表,另一种是所见即所得的GUI列表,前者的好处是可以进行GUI预览,坏处是不能随便调整控件结构,而后一种方案好处是控件结构可以乱调,甚至可以直接把这个窗口下的所有控件直接拖到另一个窗口,坏处自然是不好做GUI预览了,这个想了很久,最终还是选择了后一种方案,因为在编辑GUI时控件结构可能是会经常变的,后一种结构显然更适合于编辑,至于预览采用了一个折衷的方式,可以单独预览某个控件的某个状态是怎样显示的。不过也是由于时间关系,还有很多便于操作的功能没有加进来,例如Redo/Undo功能,这个以后如果有时间再说吧。

------------------------华丽的风格线----------------------
以下是开发中截图&Demo:









Demo下载



只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理