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

Error

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

解決名字沖突還是沒什么辦法。但是庫必須提供名字無關的控件消息綁定手段!允許全局重復名字的控件




<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("++ 進入窗體:" .. 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 閱讀(370) 評論(0)  編輯 收藏 引用 所屬分類: 從零開始寫棋牌游戲平臺
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品区一区二区三| 欧美日韩中文字幕精品| 国产综合久久| 久久久久久久久岛国免费| 校园春色国产精品| 永久久久久久| 亚洲高清av| 欧美高清成人| 亚洲午夜精品一区二区三区他趣| 亚洲国产欧美在线| 国产精品v日韩精品| 欧美一区二区三区免费观看| 欧美在线视频观看免费网站| 国产在线播精品第三| 美女黄色成人网| 欧美日韩1区2区| 久久成人精品| 鲁大师影院一区二区三区| 一区二区三区 在线观看视| 宅男噜噜噜66国产日韩在线观看| 国产精品一区亚洲| 欧美激情一区二区三区成人| 欧美日韩国产丝袜另类| 久久精品免费| 欧美激情一区二区在线| 欧美一级夜夜爽| 女人天堂亚洲aⅴ在线观看| 亚洲欧美另类中文字幕| 久久久久国内| 亚洲综合精品| 看欧美日韩国产| 亚洲专区欧美专区| 麻豆av一区二区三区久久| 亚洲欧美日韩另类| 美女尤物久久精品| 欧美在现视频| 欧美性猛交99久久久久99按摩| 久久亚洲私人国产精品va媚药| 欧美人妖另类| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美色网一区二区| 亚洲电影第1页| 国精品一区二区| 亚洲在线第一页| 中国成人亚色综合网站| 久久综合伊人| 久热精品在线视频| 国产精品普通话对白| 亚洲激情黄色| 最新中文字幕亚洲| 久久精品在线免费观看| 欧美有码在线观看视频| 国产精品久久久久久久午夜片| 亚洲国产欧美一区| 亚洲激情国产| 久久综合影视| 美女精品在线观看| 狠狠色伊人亚洲综合成人| 亚洲综合三区| 欧美一区二区免费观在线| 国产精品国产成人国产三级| 亚洲精品日韩综合观看成人91| 亚洲国内精品在线| 狂野欧美激情性xxxx欧美| 免费h精品视频在线播放| 狠狠狠色丁香婷婷综合激情| 欧美在线免费观看| 久久午夜视频| 一区二区视频欧美| 卡一卡二国产精品| 亚洲国产日韩精品| 99热免费精品| 欧美三级午夜理伦三级中视频| 91久久香蕉国产日韩欧美9色 | 99国产精品久久久久久久| 亚洲欧洲日本一区二区三区| 久久综合给合久久狠狠色 | 日韩一级黄色大片| 欧美另类视频| 一区二区三区欧美| 欧美一区二区三区视频免费播放 | 国产精品夫妻自拍| 亚洲精品欧美在线| 亚洲自啪免费| 国产夜色精品一区二区av| 欧美自拍丝袜亚洲| 欧美大片在线观看一区| 亚洲美女在线一区| 国产精品黄色| 久久精品国产亚洲5555| 女人香蕉久久**毛片精品| 亚洲精品韩国| 国产精品丝袜久久久久久app| 欧美一区二区视频97| 欧美不卡高清| 亚洲欧美另类久久久精品2019| 国产乱码精品一区二区三区不卡| 久久国产一二区| 亚洲精品一区二区三区不| 亚欧成人在线| 亚洲日本欧美日韩高观看| 欧美日韩免费观看一区| 香蕉久久一区二区不卡无毒影院 | 噜噜噜91成人网| 日韩视频精品在线| 国产免费成人av| 欧美电影电视剧在线观看| 这里是久久伊人| 欧美国产一区在线| 西西人体一区二区| 亚洲欧洲在线视频| 国产欧美精品久久| 欧美日韩国产精品专区| 欧美在线free| 亚洲午夜久久久| 亚洲第一毛片| 久久一二三四| 欧美一级理论片| 亚洲精品在线视频| 国内成+人亚洲| 国产精品色网| 欧美三级午夜理伦三级中视频| 久久久av水蜜桃| 午夜精品99久久免费| 日韩午夜av在线| 亚洲黄色在线| 免费成人网www| 久久天天躁狠狠躁夜夜av| 午夜精品国产更新| 亚洲少妇最新在线视频| 亚洲激情在线播放| 1024国产精品| 精品成人国产| 韩国三级在线一区| 国产一区91精品张津瑜| 国产精品视频一二| 欧美日韩国产一区| 欧美日韩国产在线| 欧美成人亚洲成人| 能在线观看的日韩av| 久久综合久色欧美综合狠狠| 亚洲综合99| 欧美一区2区视频在线观看| 亚洲欧美日韩系列| 午夜精品福利一区二区蜜股av| 亚洲丝袜av一区| 亚洲永久免费观看| 亚洲一区欧美一区| 午夜视黄欧洲亚洲| 久久av红桃一区二区小说| 久久www成人_看片免费不卡| 欧美在线观看视频在线| 久久久久久91香蕉国产| 久久综合一区| 欧美α欧美αv大片| 欧美激情女人20p| 欧美日韩亚洲一区二区三区在线观看| 欧美日本三区| 国产精品久久久久久久久果冻传媒| 欧美日韩一区在线视频| 国产精品美女www爽爽爽视频| 国产欧美韩日| 1000精品久久久久久久久| 亚洲精品国产精品国产自| 亚洲视频在线看| 久久不见久久见免费视频1| 久久在线91| 亚洲老司机av| 欧美一区二区三区视频免费| 久久亚洲风情| 欧美日韩国产一中文字不卡| 国产精品久久久对白| 黄页网站一区| aa亚洲婷婷| 久久久久久一区| 亚洲欧洲精品一区二区三区 | 裸体一区二区| 亚洲人成高清| 亚洲欧美一区二区三区在线| 久久免费视频一区| 欧美日韩综合视频| 黄色一区二区在线观看| 99在线热播精品免费| 欧美一区二视频| 最近中文字幕日韩精品| 亚洲欧美日韩一区二区| 欧美成人免费大片| 国产欧美日韩专区发布| 亚洲精品少妇30p| 久久久福利视频| 99精品99| 欧美.www| 黄色成人在线| 午夜精品久久久久久久久久久| 欧美国产视频一区二区| 亚洲一区中文| 欧美日韩一区二区三| 亚洲激情啪啪| 久久综合九色| 香蕉久久一区二区不卡无毒影院|