欢迎光临散文网 会员登陆 & 注册

魔兽世界插件实战笔记从入门到放弃的心理历程 第二节XML框架的建立

2022-04-14 23:36 作者:在艾泽拉斯路口等风吹  | 我要投稿

魔兽世界插件实战笔记从入门到放弃的心理历程 第三节 XML框体的建立

经过前面两节的学习,知道了怎么建立一个魔兽世界的插件,以及用lua文件来建立一个窗体,但是一般在看别人的插件的时候,都会看到一个XML文件,了解HTMl的都知道,它一般指可扩展标记语言,而且基本都是成对出现。

在魔兽世界的插件定义中,toc文件是插件定义文件,xml文件来实现窗体的UI,lua文件实现功能。

建立好toc文件以后,在魔兽世界的客户端就能看到第三节 XML框体的建立  已经能正确加载,用一个print打印函数来确认一下。

/script   print("当前游戏版本号:",(select(4,GetBuildInfo())));

先介绍一个窗体检测宏命令,怎么用,看视频:

/fstack   检测窗体

这一节有一点要注意,好像到9.0版本以后,在xml中Backdrop的属性发生了变化,背景属性设置不起作用,必须放到Scripts中调用吗?在Vscode中看着没有颜色变化不舒服,我把定义放到lua文件去,前面说过,功能的实现,其实在哪里看你愿意,都是可以的,你觉得舒服就行,没有必要强求。

toc文件代码:

# 魔兽版本号
## Interface: 90200
# 标题
# Title: 第三节XML框架
## Title: |cffffe00a[|r|cffff7d0a摸鱼儿|r|cffffe00a]|r |cff69ccf0第三节XML框架的建立|r
# 说明
# Notes: 介绍魔兽插件框架的建立。
## Notes: |cff69ccf0介绍魔兽插件XML框架的建立。|r
# 作者
## Author: 摸鱼儿
# 插件的版本号,和魔兽版本号没有关系
## Version: 1.0.0


# 框体布局文件
UiFarme.xml


# 脚本文件,一般用来放功能实现函数
LuaFamrme.lua

xml文件代码:

<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Frame name="FrameBackdrop" parent="UIParent"  inherits="BackdropTemplate"  enableMouse="true">
            <Size>
            <!-- 尺寸设置 -->
            <AbsDimension x="200" y="200" />
            </Size>
            <Anchors>
            <Anchor point="CENTER">
            <!-- 偏移 -->
            <Offset x="-250" y="0" />
            </Anchor>
            </Anchors>
            <Layers>
            <Layer level="BACKGROUND">            
            <!-- <Backdrop bgFile="Interface/Tooltips/UI-Tooltip-Background" edgeFile="Interface/Tooltips/UI-Tooltip-Border" tile="true">
            <BackgroundInsets>
            <AbsInset left="4" right="4" top="4" bottom="4" />
            </BackgroundInsets>
            <TileSize>
            <AbsValue val="32" />
            </TileSize>
            <EdgeSize>
            <AbsValue val="32" />
            </EdgeSize>
            </Backdrop> -->

            <!-- 材质设置 -->
            <Texture name="$parentHorizontal" >
            <Size x="180" y="180" />
            <!-- 锚点位置 -->
            <Anchors>
            <Anchor point="CENTER" relativePoint="CENTER" />
            </Anchors>

            <!-- <Color r="0" g="0" b="1" a="0.5" /> -->
            </Texture>
            </Layer>
            </Layers>


<Scripts>
<OnLoad>
    <!-- local backdropInfo = {
        bgFile		= "Interface/Tooltips/UI-Tooltip-Background",
        edgeFile	= "Interface/Tooltips/UI-Tooltip-Border",
        tile 		= true,
        tileEdge	= true,
        edgeSize = 16,
        insets = { left = 4, right = 4, top = 4, bottom = 4 },
    }
    self:SetBackdrop(backdropInfo);
    self:SetBackdropColor(0, 0, 1, .5) -->
</OnLoad>

</Scripts>



</Frame>
</Ui>

lua文件代码:

print("当前游戏版本号:",(select(4,GetBuildInfo())));


local backdropInfo = {
    bgFile		= "Interface/Tooltips/UI-Tooltip-Background",
    edgeFile	= "Interface/Tooltips/UI-Tooltip-Border",
    tile 		= true,
    tileEdge	= true,
    edgeSize = 16,
    insets = { left = 4, right = 4, top = 4, bottom = 4 },
}

-- name="FrameBackdrop"
local f =  FrameBackdrop
f:SetBackdrop(backdropInfo);
f:SetBackdropColor(0, 0, 1, .3)


魔兽世界插件实战笔记从入门到放弃的心理历程 第二节XML框架的建立的评论 (共 条)

分享到微博请遵守国家法律