找回密码
 点一下
查看: 2114|回复: 5

重载UI的方法

[复制链接]
发表于 2012-9-7 19:46:59 | 显示全部楼层 |阅读模式
翻译&重构自http://us.battle.net/sc2/en/forum/topic/6471837878

创建新的框架:
方法1:完全通过触发器(Create Dialog Item)
方法2:在UI编辑器创建一个新的布局,然后通过触发器实例化(Create Dialog Item From Template)

方法1:
利用Create Dialog Item等动作制作对话框


方法2:
在UI编辑器创建好框架,然后利用触发器的Create Dialog Item From Template实例化




控制预设的框架:
方法1:利用触发器Hook掉预设的框架,然后通过触发器控制它
方法2:利用UI编辑器覆盖预设的框架


方法1:
利用Hookup Standard Dialog Item这个动作hook掉预设框架
http://bbs.islga.org/read-htm-tid-1038317.html(参考头目教程)

方法2:
在UI编辑器中添加布局,然后在布局中添加一个MinimapPanel的框架
然后选择左边的GameUI/UIContainer/ConsoleUIContainer/MinimapPanel
然后复制左边的这一段
[codes=xml]<Frame type="MinimapPanel" name="MinimapPanel" template="MinimapPanel/MinimapPanelTemplate">
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<Anchor side="Left" relative="$parent" pos="Min" offset="0"/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<Anchor side="Bottom" relative="$parent" pos="Max" offset="0"/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<Width val="395"/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<Height val="327"/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</Frame>[/codes]
把这段东西覆盖你刚才添加的MinimapPanel框架
接下来把name="MinimapPanel"替换成name="GameUI/UIContainer/ConsoleUIContainer/MinimapPanel"
这是MinimapPanel的完整路径

然后添加file="GameUI"属性,这确保了这能正确覆盖目标文件

把relative="$parent"换成relative="$parent/$parent"
这代表锚点将会是UIContainer,而不是ConsoleUIContainer

side="Bottom"换成side="Top"
pos="Max"换成pos="Min"
这令MinimapPanel锚点在UIContainer的左上

最後得到的xml将会是
[codes=xml]<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Desc>
&#160;&#160;&#160;&#160;<Frame type="MinimapPanel" name="GameUI/UIContainer/ConsoleUIContainer/MinimapPanel" file="GameUI">
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<Anchor side="Left" relative="$parent/$parent" pos="Min" offset="0"/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<Anchor side="Top" relative="$parent/$parent" pos="Min" offset="0"/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<Width val="395"/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<Height val="327"/>
&#160;&#160;&#160;&#160;</Frame>
</Desc>[/codes]

评分

参与人数 1威望 +2 收起 理由
麦德三世 + 2 很好

查看全部评分

发表于 2012-9-7 20:41:53 | 显示全部楼层
星星好勤奋~~~!!
回复

使用道具 举报

发表于 2012-9-7 22:00:45 | 显示全部楼层
有空再看
回复

使用道具 举报

发表于 2012-9-8 01:35:29 | 显示全部楼层
没写完嘛,还有一些也要加上啊
回复

使用道具 举报

发表于 2012-9-8 21:15:43 | 显示全部楼层
这就没啦?不详细呀,有点不是很明白。
期待星星大人能写详细教程出来。
回复

使用道具 举报

发表于 2015-2-1 12:02:06 | 显示全部楼层
template 不需要吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-24 01:20 , Processed in 0.077908 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表