El游戏引擎-5. GUI

5. GUI

ElGUI参考CEGUI,乏善可陈。

作者使用CEGUI也有一段时间了,这里针对CEGUI做些讨论,希望对大家有所帮助。

CEGUI效率低下的问题常常为人诟病,但是其整个UI系统的设计却是很出彩的。可喜的是,一般项目在对其进行简单优化后,其效率即可基本达到应用需求,网上也有一些优化CEGUI的心得文章,这里就不一一列出了。另外推荐一个MYGUI,据说是CEGUI的简化版,可以一试。

目前网游中对CEGUI的最高级应用窃以为是可编辑的图文混排,一个类似于魔兽世界聊天框的控件。该控件支持玩家贴入装备链接、图片等并能对玩家鼠标选取链接或图片做出响应。

而图文混排中对CEGUI构架挑战最大的,莫过于聊天表情了。由于聊天表情动画要求该控件每一帧都要刷新,而CEGUI所设计的单一渲染队列,决定了该队列中一个单位有变,所有的单位都需要重新填充队列,所以单个控件刷新会引发整个系统刷新。如果UI中存在大量字符的话,单个控件逐帧刷新可能引发系统指数级的掉帧。

解决上述问题需要在GUI构架层面给予改善,或者为CEGUI渲染队列内的单位增加额外参数,或者对聊天表情对应的Texture纹理在底层逐帧给予变动。有兴趣的读者可以试着为CEGUI添加图文混排控件及聊天表情。

El GUI文字部分采用Window GDI Truetype渲染方式,应用部分仅实现了一些简单的控件。

El游戏引擎-5. GUI_第1张图片

5.1 GUI

你可能感兴趣的:(游戏,UI,网游)