目前項目中使用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方式的排版