青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Error

C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks
參考了:cegui 魔獸世界  迅雷  mygui
主要問(wèn)題如下:
Q1: 控件的屬性是放到xml節(jié)點(diǎn)的屬性中,還是作為子節(jié)點(diǎn)。放到屬性中方便,但是xml太長(zhǎng),人眼看的時(shí)候費(fèi)勁,子節(jié)點(diǎn)會(huì)好很多。
Q2: 控件之間的父子關(guān)系是直接用xml的節(jié)點(diǎn)父子關(guān)系來(lái)表達(dá),還是和魔獸世界一樣允許parent="UIParent",這樣設(shè)置。我可能還需要“include”其他xml中定義的控件?
直接xml父子節(jié)點(diǎn):優(yōu)勢(shì)是關(guān)系簡(jiǎn)單明了,缺陷是UI復(fù)雜以后堆積的xml文件太長(zhǎng),人眼也無(wú)法看明白了
魔獸世界:他們的做法可以分離每個(gè)控件出來(lái),但是層次關(guān)系又不明朗了。
允許類似<Window></InsertControlByName name="ChirdControl" type="Type"></Window>這樣的特殊節(jié)點(diǎn),平衡兩者有優(yōu)劣勢(shì)。但是名字空間還是需要非常留意的點(diǎn)。
另外可以支持<ExportControls></Window name="ExportWnd"></ExportControls>,<InportControls></InportControl name="Import" type="Type" ImportFile="xxx.xml"><InportControls>
type屬性不必要,但是加上以后可以讓xml自校驗(yàn)?zāi)芰Ω鼜?qiáng)

解決名字沖突還是沒(méi)什么辦法。但是庫(kù)必須提供名字無(wú)關(guān)的控件消息綁定手段!允許全局重復(fù)名字的控件




<GUILayout version="4" >
    <Window type="Generic/Image" name="GameOverRoot" >
        <Property name="Area" value="{{0,0},{0,0},{1,0},{1,0}}" />
        <Property name="Image" value="HUDDemo/Filler" />
        <Property name="MaxSize" value="{{1,0},{1,0}}" />
        <Property name="AlwaysOnTop" value="True" />
        <Property name="ImageColours" value="tl:88888888 tr:88888888 bl:88888888 br:88888888" />
        <Window type="Generic/Image" name="GameOverImage" >
            <Property name="Area" value="{{0,0},{0.119444,0},{0,0},{0.519444,0}}" />
            <Property name="MaxSize" value="{{1,0},{1,0}}" />
            <Property name="AspectMode" value="Expand" />
            <Property name="AspectRatio" value="1.923" />
            <Property name="HorizontalAlignment" value="Centre" />
        </Window>
        <Window type="Generic/ImageButton" name="ButtonRestart" >
            <Property name="Area" value="{{0,0},{0.597222,0},{0.153906,0},{0.661111,0}}" />
            <Property name="HoverImage" value="HUDDemo/ButtonNormal" />
            <Property name="NormalImage" value="HUDDemo/ButtonNormal" />
            <Property name="PushedImage" value="HUDDemo/ButtonPressed" />
            <Property name="DisabledImage" value="HUDDemo/ButtonNormal" />
            <Property name="HorizontalAlignment" value="Centre" />
            <Window type="Generic/Label" name="LabelRestart" >
                <Property name="Area" value="{{0,0},{0.152778,0},{1,0},{1,0}}" />
                <Property name="Font" value="GreatVibes-22" />
                <Property name="Text" value="Restart" />
                <Property name="MaxSize" value="{{1,0},{1,0}}" />
                <Property name="NormalTextColour" value="FFFFFFFF" />
                <Property name="DisabledTextColour" value="FFFFFFFF" />
                <Property name="MousePassThroughEnabled" value="True" />
            </Window>
        </Window>
    </Window>
</GUILayout>



<Framename="EnterLeaveTest" parent="UIParent">

             <Size x="100" y="100" />

             <Anchors>

                    <Anchor point="CENTER"relativePoint="CENTER" relativeTo="UIParent" />

             </Anchors>

             <Layers>

                    <Layer level="BACKGROUND">

                           <Texture name="$parentIcon"file="Interface\Icons\Spell_ShadowWordPain" setAllPoints="true"/>

                    </Layer>

             </Layers>

             <Scripts>

                    <OnEnter>

                           ChatFrame1:AddMessage("++ 進(jìn)入窗體:" .. self:GetName())

                    </OnEnter>

                    <OnLeave>

                           ChatFrame1:AddMessage("-- 離開窗體:" .. self:GetName())

                    </OnLeave>

             </Scripts>

      </Frame>






<xlue>
<control class="BoltFox.MainMenu.Item">
<attr_def>
<attr name="SubMenuTemplate" type="string"/>
<attr name="Text" type="string"/>
</attr_def>
<method_def>
<SetContainer file="MainMenu.xml.lua" func="MainMenu_Item_SetContainer"/>
<PopupSubMenu file="MainMenu.xml.lua" func="MainMenu_Item_PopupSubMenu"/>
<DestroySubMenu file="MainMenu.xml.lua" func="MainMenu_Item_DestroySubMenu"/>
<SetEntered file="MainMenu.xml.lua" func="MainMenu_Item_SetEntered"/>
<SetText file="MainMenu.xml.lua" func="MainMenu_Item_SetText"/>
<GetText file="MainMenu.xml.lua" func="MainMenu_Item_GetText"/>
</method_def>
<event_def>
<OnSelected />
</event_def>
<objtemplate>
<children>
<obj id="root" class="LayoutObject">
<attr>
<left>0</left>
<top>0</top>
<width>father.width</width>
<height>father.height</height>
</attr>
<children>
<obj id="hoverBkg" class="FillObject">
<attr>
<left>0</left>
<top>0</top>
<width>father.width</width>
<height>father.height</height>
<visible>false</visible>
<filltype>singlecolor</filltype>
<srccolor>235,0,0,155</srccolor>
</attr>
<children>
<obj id="tosub" class="ImageObject">
<attr>
<left>10</left>
<top>4</top>
<width>father.width - 10</width>
<height>5</height>
<visible>false</visible>
<image>bitmap.right.triangle</image>
</attr>
</obj>
<obj id="text" class="TextObject">
<attr>
<left>10</left>
<top>3</top>
<width>father.width - 15</width>
<height>father.height - 6</height>
</attr>
</obj>
</children>
</obj>
</children>
</obj>
</children>
<eventlist>
<event name="OnMouseEnter" file="MainMenu.xml.lua" func="MainMenu_Item_OnMouseEnter"/>
<event name="OnMouseLeave" file="MainMenu.xml.lua" func="MainMenu_Item_OnMouseLeave"/>
<event name="OnLButtonDown" file="MainMenu.xml.lua" func="MainMenu_Item_OnLButtonDown"/>
<event name="OnInitControl" file="MainMenu.xml.lua" func="MainMenu_Item_OnInitControl"/>
</eventlist>
</objtemplate>
</control>



<?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Layout" version="3.2.0">
    <Widget type="Window" skin="WindowC" position="20 20 170 135" layer="Info" name="Root">
        <Property key="Snap" value="true"/>
        <UserString key="ButtonSkin" value="Button"/>
        <Widget type="ImageBox" skin="ImageBox" position="5 5 50 50" name="Icon">
            <Property key="ImageResource" value="MessageBoxIcon"/>
            <Property key="ImageGroup" value="Icons"/>
        </Widget>
        <Widget type="TextBox" skin="TextBox" position="60 5 92 50" align="Stretch" name="Text">
            <Property key="TextAlign" value="Left VCenter"/>
        </Widget>
        <Widget type="Widget" skin="PanelEmpty" position="20 60 120 26" align="HStretch Bottom" name="ButtonPlace">
            <Widget type="Button" skin="Button" position="10 0 100 26" name="ButtonTemplate"/>
        </Widget>
    </Widget>
</MyGUI>
posted on 2014-06-24 11:45 Enic 閱讀(369) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 從零開始寫棋牌游戲平臺(tái)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美精品午夜视频| 久久久久一区二区三区| 久久精品国产2020观看福利| 一区二区三区www| 日韩亚洲在线观看| a91a精品视频在线观看| 一本色道久久88综合亚洲精品ⅰ| 亚洲激情网站免费观看| 亚洲大胆视频| 99国产麻豆精品| 亚洲视频一区| 亚洲已满18点击进入久久| 亚洲欧美综合精品久久成人| 欧美自拍偷拍午夜视频| 牛牛国产精品| 欧美视频精品一区| 国产一区二区高清视频| 亚洲人成网站777色婷婷| 一本一本久久| 久久露脸国产精品| 亚洲人成人一区二区在线观看| 亚洲视频在线一区观看| 欧美一级视频| 欧美国产日韩精品免费观看| 欧美日韩一区二区三区四区在线观看 | 在线播放豆国产99亚洲| 亚洲人成网站在线播| 亚洲网站在线观看| 可以免费看不卡的av网站| 最新国产成人在线观看| 亚洲综合色激情五月| 米奇777在线欧美播放| 国产精品嫩草99a| 91久久精品一区二区别| 久久国产一区二区| 99综合在线| 久久综合激情| 国产手机视频一区二区| 一区二区日韩精品| 欧美成人官网二区| 亚洲女人天堂成人av在线| 欧美国产一区在线| 极品少妇一区二区三区精品视频| 在线一区二区三区四区| 欧美国产一区二区三区激情无套| 亚洲自拍偷拍一区| 欧美日韩亚洲一区三区| 亚洲精品久久嫩草网站秘色| 久久综合久久综合久久| 亚洲欧美精品伊人久久| 欧美日韩在线播放一区二区| 亚洲肉体裸体xxxx137| 美脚丝袜一区二区三区在线观看| 在线看片日韩| 久久精品国产999大香线蕉| 久久久久久**毛片大全| 国产乱人伦精品一区二区| 亚洲伊人一本大道中文字幕| 亚洲激情一区二区| 欧美大片在线观看| 亚洲国产美国国产综合一区二区| 久久性色av| 久久久久国色av免费看影院| 狠狠久久亚洲欧美| 久久综合久久综合久久| 欧美一区国产一区| 国产亚洲日本欧美韩国| 久久久成人网| 久久se精品一区二区| 好看的av在线不卡观看| 久久精品水蜜桃av综合天堂| 欧美在线日韩| 在线欧美日韩国产| 亚洲福利视频在线| 欧美激情中文不卡| 亚洲一区二区免费| 午夜亚洲激情| 影音先锋亚洲视频| 亚洲国产91精品在线观看| 欧美韩国一区| 亚洲欧美在线免费| 久久精品盗摄| 亚洲精品乱码久久久久久日本蜜臀| 亚洲精品视频在线观看网站| 欧美视频福利| 羞羞色国产精品| 久久aⅴ国产紧身牛仔裤| 在线观看亚洲精品视频| 亚洲欧洲三级电影| 欧美午夜不卡视频| 久久久精品日韩欧美| 久久亚洲综合| 一区二区精品| 久久福利视频导航| 99精品国产99久久久久久福利| 一本色道久久综合狠狠躁的推荐| 国产女主播一区| 亚洲电影免费| 国产精品一卡| 亚洲第一精品夜夜躁人人爽| 欧美丝袜第一区| 欧美h视频在线| 欧美视频在线观看一区| 久久一区国产| 欧美日韩国产色视频| 久久精品国产69国产精品亚洲| 男人的天堂成人在线| 午夜欧美大尺度福利影院在线看| 久久久午夜精品| 亚洲欧美精品| 欧美成人免费在线视频| 欧美一区在线视频| 欧美日韩免费看| 欧美大成色www永久网站婷| 国产精品人人做人人爽人人添| 欧美激情麻豆| 一本久道久久综合狠狠爱| 一本久道久久综合中文字幕| 1024国产精品| 亚洲欧美日韩国产一区二区| 一区二区三区成人精品| 久久久噜噜噜久久中文字幕色伊伊| 一区二区三区精品视频在线观看| 久久久久亚洲综合| 久久se精品一区精品二区| 欧美三区美女| 亚洲国产婷婷香蕉久久久久久| 国产日韩在线一区二区三区| 99re6热在线精品视频播放速度| 亚洲成色777777在线观看影院| 亚洲一区在线直播| 亚洲一级电影| 欧美日韩另类在线| 亚洲国产日韩在线一区模特| 在线精品视频在线观看高清 | 欧美中在线观看| 欧美理论在线播放| 亚洲国产成人精品久久久国产成人一区 | 午夜精品三级视频福利| 亚洲综合二区| 欧美日韩在线播放| 99riav1国产精品视频| 99精品热视频只有精品10| 久久只精品国产| 女人香蕉久久**毛片精品| 伊人婷婷欧美激情| 久久亚洲精选| 欧美aⅴ一区二区三区视频| 一区二区在线视频观看| 久久久久久久久久久久久9999| 久久亚洲精品中文字幕冲田杏梨 | 一区二区亚洲精品国产| 久久久综合精品| 欧美91大片| 亚洲精品乱码久久久久久日本蜜臀| 免费成人美女女| 亚洲日本va午夜在线影院| 亚洲视频一区| 国产精品一区二区女厕厕| 亚洲欧美日韩在线观看a三区| 久久精品国产视频| 在线观看亚洲精品| 欧美日韩另类在线| 欧美专区亚洲专区| 亚洲国产99| 亚洲欧美日韩一区二区在线 | 欧美a级片网站| 夜夜嗨一区二区| 国产精品日韩在线播放| 欧美中文字幕在线播放| 亚洲国产精品123| 亚洲视频一区| 好吊色欧美一区二区三区四区 | 欧美成人一区二区三区| 亚洲国产高清在线观看视频| 欧美激情视频一区二区三区不卡| 免费日韩视频| 欧美一区激情视频在线观看| 久久精品网址| 欧美在线观看天堂一区二区三区| 久久免费视频在线观看| 亚洲欧美在线另类| 欧美精品免费播放| 久久中文精品| 国产亚洲综合精品| 99视频精品免费观看| 伊人伊人伊人久久| 亚洲欧美一区二区激情| 夜夜嗨av一区二区三区网页| 久久精品亚洲乱码伦伦中文| 午夜视频在线观看一区二区| 老司机一区二区三区| 麻豆国产精品va在线观看不卡 | 性欧美video另类hd性玩具| 亚洲欧洲综合另类| 麻豆国产精品一区二区三区| 久久色在线观看| 亚洲欧洲一区二区天堂久久| 久久国产精品久久精品国产 | 欧美美女bb生活片|