从开发中发现保存格式xml是最方便开发,当然可以在发布的时候采用二进制,但是需要维护成本。
xml是文本格式,且扩展性强,尤其文本格式你可以全局搜索定位到那个界面,因为UI在一个游戏里面至少有几十个,且
每个UI中有很多的子控件,所以不是维护这方面内容就能难找到对应代码和问题的查找。
比如你看到一个窗口的其中一个按钮逻辑错误,你就可以通过这个窗口按钮上的字符串查到这个按钮的名称,然后可以通过
这个按钮查到挂接在上面脚本事件,就可以顺藤摸瓜,很容易找到问题所在的地方。类似的情况处理真的还是很多,因为UI
系统在一个游戏中还是比较庞杂,都靠凭记忆来维护恐怕不是理想选择,所以选择xml保存UI配置要远比2进制好(其实其他
配置也存在类似情况,在开发中是非常有用的)
还有一点采用脚本跟UI配合也是非常有优势的,因为游戏任何一个系统都几乎设计UI,所以开发和维护中设计相当频繁,如果
把界面显示的字符串常量和内部一些命名 的常量都作为常量都采用硬编码,对于一个庞大的工程来说长期下来不知道有多少时间
浪费在等待编译上了,如果采用脚本驱动的根本不存在这样的问题的,或许有人会说那个调试比较麻烦,其实脚本配合日志,也
没有想像的那么麻烦。这样在脚本中随意编写常量,因为这些量在开发和维护中被改到可能性非常大,这样给后续开发中相当有
优势的,当然采用配置文件也能解决这个问题,但是灵活性远不能和脚本比。(这个有些常量是很少被改动,可以在硬编码,因为
老做配置接口也是需要开发成本和加载性能损失,所以不要说在代码中不要硬编码就一刀切下去了)
还有关于编辑器,其实开发一款好的编辑器是很复杂的,再则编辑器很难解决功能复杂,外表精美的UI。如果开发过MFC和web
应用的人都知道,一些精美的UI几乎不使用任何编辑器,web更是如此(可能web处理和表现比桌面更复杂多样造成的吧)。所以
没有编辑器的UI系统是跟UI好坏几乎无关,就像CEGUI有编辑器,但是真正复杂令人头疼的looknfeel还是手动配置的。