这个是我自己分析WOW原始UI代码后,对一些比较关键的部分,我记录下来的
这次我写的是ZoneText.xml和ZoneText.lua,是显示地区文字的UI,在Interface/FrameXML里面
至于如何提取文件,如何查询函数,如何测试,还有一些基础问题和显而易见的东西我就不累述了
大家可以在网上找找这些文章,或者E-mail找我要,asdic.xxs@gamil.com
文章里面如果有什么纰漏,希望大家毫不客气的提出来,我一定查究!
版本:1。7。1
做人要厚道,转载请注明出处。
该颜色表示:最近版本更新
该颜色表示:最近错误修改
------------
先看图像,因为我是在5区新开的小号测试的UI,所以不可能满世界到处跑去截图
对下面这种古怪的截图方式,希望大家能够体谅
我先解释一下下面要用到的术语指的是什么
【地域】:就是地图上面一块大地方的名字,在图像的第一排,如:莫高雷
【pvp信息】:显示该地区的阵营信息,一般在地域的下面,如:联盟或者部落
【地区】:在地图上面最细小的地方,一般和迷你地图上面的名字相同,一般在最后一排,如:纳拉其营地
【战场信息】:显示为“pvp区域”,一般在最后一排,我没有到战场截图,而是改成了战场变量
【跟随信息】:这里显示的是“正在跟随XX”,“已经停止跟随XX”那个文本框,一般在屏幕正中间
下面是ZoneText.xml和ZoneText.lua的源码,我的注释会插入其中。
ZoneText.xml
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
../FrameXML/UI.xsd">
<Script file="ZoneText.lua"/>
<Script>
ZoneFadeInDuration = 0.5;
文字淡入时间
ZoneHoldDuration = 1.0;
文字显示时间
ZoneFadeOutDuration = 2.0;
文字淡出时间
function SetZoneText(showPVPInfo)
这个函数用来设置文字的颜色和临时显示位置
ZoneTextString:SetText(GetZoneText());
GetZoneText函数,用来得到当前【地域】
local pvpType, factionName, isArena = GetZonePVPInfo();
if ( pvpType == "friendly" ) then
PVPInfoTextString:SetText(format(FACTION_CONTROLLED_TERRITORY, factionName));
FACTION_CONTROLLED_TERRITORY显示为“营地”
factionName显示“部落”还是“联盟”
ZoneTextString:SetTextColor(0.1, 1.0, 0.1);
SubZoneTextString:SetTextColor(0.1, 1.0, 0.1);
PVPInfoTextString:SetTextColor(0.1, 1.0, 0.1);
SubZoneTextString:SetPoint("TOP", "PVPInfoTextString", "BOTTOM", 0, 0);
相当于SetPoint(point,relativeTo,relativePoint,OffsetX,OffsetY)
elseif ( pvpType == "hostile" ) then
PVPInfoTextString:SetText(format(FACTION_CONTROLLED_TERRITORY, factionName));
ZoneTextString:SetTextColor(1.0, 0.1, 0.1);
SubZoneTextString:SetTextColor(1.0, 0.1, 0.1);
PVPInfoTe