在CEGUI中使用layout文件(3)

    技术2022-05-11  81

    在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控件没有重名了。

    最新回复(0)