在CEGUI中使用layout文件(3)

来源:互联网 发布:php小偷程序检测 编辑:程序博客网 时间:2024/05/01 02:33
在CEGUI中使用layout文件(3)
打开任意一个layout文件,可见其为一个树形结构,父子窗体的组织结构比较清晰。
<?xml version="1.0" encoding="UTF-8"?>

<GUILayout >

    
<Window Type="type1" Name="window1" >

              
<Window Type="type2" Name=" window1" >

        
</Window>

    
</Window>

</GUILayout>

由于使用的是TinyXML作的xml解析器,其是基于DOM的,所以正合适。
 
注意文件当中的Property tag,这个是layout的重点,通过设定这个东西,CEGUI就活起来了。
<Property Name="Font" Value="SimHei-12" />
先写Name,再写Value。
如果想在游戏中使用你编辑的layout文件,那么就不是单个文件这么简单了。
由于CEGUI当中的窗体名称是一个全局的向量,所以不能有同名的窗体,这样,命名规则就成了一个问题,当游戏制作到了大规模的UI制作阶段,这个问题尤为明显。
我的经验是如下的规则:
 
1.         规则1 Layout文件命名
layout文件以场景形式组织,每个layout文件对应一个场景下的UI,文件名为场景的英文名称,首字母大写,如SampleScene.layout。
2.         规则2 顶级控件命名&设定
layout文件内部使用Root_场景英文名的defaultWindow作为根窗口(顶级窗口),如示例场景的UI使用Root_SampleScence作为根窗口。顶级窗口大小为整个显示屏幕大小。
3.         规则3 次级控件命名
Root窗口下一级UI控件使用 场景英文名+控件实际用途方式命名,如示例场景下的背景图片命名为SampleSceneBackground。
4.         规则4 其它控件命名
次级以下控件使用 上一级控件名/控件自身控件名 的方式进行命名,如示例场景下的退出按钮命名为 SampleSceneBackground/Quit。
5.         规则 5 UI控件命名
UI控件命名规则为 UI控件名含义+控件类型(可选),如设置按钮可命名为SampleSceneBackground/Settings 或者SampleSceneBackground/SettingsButton。
 
这样一来,只要文件名不同,就保证了UI控件没有重名了。
原创粉丝点击