魔兽编辑器中“多面板”的自研笔记

这次用无名大佬的多面板演示地图进行研究。

这个面板基本满足萌新需求

一、主触发

分步理解:

-------- 多面板不能使用地图初始化运行,所以使用游戏计时(单次)事件 --------
        时间 - 当游戏逝去 0.00 秒
-------- DMB是个多面板类型的变量,设定该多面板的行和列 --------
        设置 DMB = (新建的空多面板)
        多面板 - 设置 DMB 的行数为 6
        多面板 - 设置 DMB 的列数为 6
        -------- 设置多面板的标题 --------
        多面板 - 设置 DMB 的标题为 (玩家信息面板   当前游戏时间 + ((|c[玩家1(红色)](转换 SJ 为字符串)|r) + 分钟))
        -------- 设置多面板第1行每列的标题,你看到的第1行或第1列对于编辑器来说是第0行或第0列 --------
        多面板 - 设置 (DMB 的第 0 行,第 0 列项) 的项目文本为 玩家名字
        多面板 - 设置 (DMB 的第 0 行,第 1 列项) 的项目文本为 杀敌数
        多面板 - 设置 (DMB 的第 0 行,第 2 列项) 的项目文本为 杀BOSS数
        多面板 - 设置 (DMB 的第 0 行,第 3 列项) 的项目文本为 英雄等级
        多面板 - 设置 (DMB 的第 0 行,第 4 列项) 的项目文本为 黄金数量
        多面板 - 设置 (DMB 的第 0 行,第 5 列项) 的项目文本为 木材数量
        -------- 设置多面板第1行每列的图标,你看到的第1行或第1列对于编辑器来说是第0行或第0列 --------
        循环 循环整数A 从 0 到 6
            Loop - 动作
                多面板 - 设置 (DMB 的第 0 行,第 循环整数A [R] 列项) 的项目图标为 ReplaceableTextures\CommandButtons\BTNStaffOfPreservation.blp
        -------- 设置多面板第1行到第6行每列的图标和文本 --------
        循环 循环整数A 从 1 到 6
            Loop - 动作
                多面板 - 设置 (DMB 的第 循环整数A [R] 行,第 1 列项) 的项目图标为 ReplaceableTextures\CommandButtons\BTNFrostBear.blp
                多面板 - 设置 (DMB 的第 循环整数A [R] 行,第 2 列项) 的项目图标为 ReplaceableTextures\CommandButtons\BTNSludgeCreature.blp
                多面板 - 设置 (DMB 的第 循环整数A [R] 行,第 3 列项) 的项目图标为 ReplaceableTextures\CommandButtons\BTNDOCMasterTraining.blp
                多面板 - 设置 (DMB 的第 循环整数A [R] 行,第 4 列项) 的项目图标为 ReplaceableTextures\CommandButtons\BTNBundleOfLumber.blp
                多面板 - 设置 (DMB 的第 循环整数A [R] 行,第 5 列项) 的项目图标为 ReplaceableTextures\CommandButtons\BTNChestOfGold.blp
                多面板 - 设置 (DMB 的第 循环整数A [R] 行,第 1 列项) 的项目文本为 0
                多面板 - 设置 (DMB 的第 循环整数A [R] 行,第 2 列项) 的项目文本为 0
                多面板 - 设置 (DMB 的第 循环整数A [R] 行,第 3 列项) 的项目文本为 1
                多面板 - 设置 (DMB 的第 循环整数A [R] 行,第 4 列项) 的项目文本为 0
                多面板 - 设置 (DMB 的第 循环整数A [R] 行,第 5 列项) 的项目文本为 0
        -------- 是否显示多面板的文字和图标 --------
        多面板 - 设置 DMB 的所有项目显示风格: 显示 文字 显示 图标
不显示文字和图标,下方区域就是空的
        -------- 设置多面板的宽度 --------
        多面板 - 设置 DMB 的所有项目宽度为 0.05 倍屏幕宽度
宽度为1倍的话多面板占了整个屏幕宽度
        -------- 最大化:展开多面板,最小化:只显示标题和折叠倒三角 --------
        多面板 - 设置 DMB 最小化
        -------- 显示或隐藏多面板,隐藏不等于最小化,而是看不见 --------
        多面板 - 设置 DMB 显示

二、多面板中的各项数据

1、标题中时间的变化

SJ是整数型变量,每经过60秒,SJ的值+1。

2、玩家名字变化


演示图是进能量圈选英雄,所以这个触发前半段要根据自己的地图进行设置。
我们主要看后两句,前1句是用英雄头像做图标,第2句是用玩家名字做文本。

3、杀敌数变化

条件:1、死亡单位和凶手单位是敌对关系;2、凶手单位是玩家控制的;
动作:1、Integer是整数型数组变量,原因是有多个玩家,需要多个变量记录;2、设置多面板第1列的值:将杀敌的整数转换为字符串

4、杀BOSS数变化

和 杀敌数变化 类似的触发,加了1个条件:死亡单位是英雄类型。在具体应用中根据自己地图中的BOSS统一特性进行设置。因为有些时候敌方英雄单位不一定都是BOSS,或BOSS不一定是 敌方的英雄单位 。

5、英雄等级、黄金数量、木材数量

这三个数据变化就是捕捉英雄的等级和玩家的黄金木材数量。事件类型分别是:

单位 - 任意单位 提升等级
玩家 - 任意玩家 的 现有黄金 属性 大于或等于 0.00
玩家 - 任意玩家 的 现有木材 属性 大于或等于 0.00

回到肥羊镇最后的30分钟。经过了一整天的努力,终于把肥羊镇的多面板从JASS重写为了Trigger。

行数:在线人数+2,列数:5
行数:12,列数:8

百度网盘下载:

链接:https://pan.baidu.com/s/1Wf_35YReBoGyW1hx7M2uUg
提取码:6wri


感谢蛋总提供的另一种表现形式的触发:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据