原文地址:http://www.ogre3d.org/tikiwiki/tiki-index.php?page=MyGUI+layers
以我初中英语的能力,尝试翻译MyGUI文档,错误在所难免,请指正。
MyGUI layers用于指定widgets的渲染次序。在list中的第一layer在最低处(也即在其他layers之后渲染)
layers的默认配制文件是core_layer.xml(对于3.2.0以上,是MyGUI_Layers.xml)
主要的属性有:
* type:
layer的类型,这些是内置的类型。
0 SharedLayer(共用Layer): 没有重叠的简单layer,使用它时,重叠的widgets会出现渲染顺序不正确。所有的SharedLayer渲染配制在一个脚本里。
0 OverlappedLayer(重叠Layer):在同一layer,当有重叠的widgets时,你应当用OverlappedLayer.(不知道如何翻译:Batch per root widget)当在layer上的widgets不打算彼此重叠时,请使用SharedLayer。
我猜想大概意思是:当widgets不重叠时,就用SharedLayer;当widgets可能重叠时,就用OverlappedLayer,因为每个root widget对应着一个脚本。
0 其他类型:可以添加自定义类型(参见UnitTest_Layers里的RTTLayer示例)
*name:在skin,layout及代码里使用,是layer的名称标识。
*propertis:
Pick boolean:设置widgets与鼠标的交互,如果这个属性设置为false,在任何情况下,鼠标指针都会忽略widget(在这种情况下,你不能单击Button,如果后面有其他控件,你会直接点击到后面的控件上,就像Button根本不存在一样)。
其他属性:可以自定义属性(参见RTTLayer layer自定义属性)。
示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Layer" version="1.2">
<!-- (Pick false) here's unpickable layer that basically used only for displaying background image and not for any interaction -->
<Layer type="SharedLayer" name="Wallpaper">
<Property key="Pick" value="false"/>
</Layer>
<!-- (type SharedLayer) Main layer - usually used for most GUI items that won't be moved in runtime -->
<Layer type="SharedLayer" name="Main">
<Property key="Pick" value="true"/>
</Layer>
<!-- (type OverlappedLayer) Overlapped layer - usually used for windows, pop-up messages and hints -->
<Layer type="OverlappedLayer" name="Overlapped">
<Property key="Pick" value="true"/>
</Layer>
<!-- (name Pointer, Pick false) Pointer layer - mouse pointer drawn here, don't forget set Pick to false -->
<Layer type="SharedLayer" name="Pointer">
<Property key="Pick" value="false"/>
</Layer>
</MyGUI>