目前项目中使用Flash为主设计的UI,因为兼容性问题,Flash中编辑框虽然可以输入中文,但是光标是看不到闪烁的。经过仿佛研究发现,必须将d3d 的flash容器程序在后台时,才能显示光标,这一个测试结果让我们雷的不行。最终决定将flash拆解开,每个界面一个flash。但依然发现很多影响开发效率的问题。
GameBryo引擎中支持原生的C++ GAME UI,也支持直接播放flash,这部分(ScaleForm)使用的是以GameSwf为基础的手动解析flash文件,因此在编辑框等方面做的非常好。
Flash的UI开发灵活度很高,底层库bug少,但是与现有工程结合难度大,因此仍然转向研究以XML为基础的UI库设计。
这里推荐几个参考:
WowBench: http://sourceforge.net/projects/wowbench/
这是魔兽世界的UI的模拟器,开源,可以从中了解魔兽世界的基本UI架构及API构成。同时,魔兽的lua脚本在安全性和开发度上做的非常好,这部分可以参考下。
Mozilla XUL:https://developer.mozilla.org/En/XUL
这是Mozilla战略中的一个重要组成部分,这套UI支持类似于wxWidgets或者HTML方式的排版