功能最齐,规则最简洁,所耗负载最低,最离谱的界面编辑器。制作不易,白嫖请留下作者ID

【制作极其不易,白嫖请留下作者ID】

使用8个玩家变量+3个全局变量

全局变量

Backpack_spot:界面位置

Backpack_button:[暂时备用]

Backpack_i:索引变量

玩家变量

Backpack_open:按钮显示监测

Backpack_page:页面包含按钮

Backpack_button:按钮

Backpack_sensitivity:鼠标灵敏度

Backpack_orientation:鼠标角度

Backpack_i:暂存变量

Backpack_attribute:按钮属性

Backpack_selection:框选变量


  • 界面位置:

自行设置:全局.Backpack_spot=矢量(0, 0, 0)


设置按钮:

全局.Backpack_i[1] = 基本按钮数量

全局.Backpack_i[2] = 进度条按钮数量

全局.Backpack_i[3] = 手柄按钮数量

全局.Backpack_i[4] = 键盘按钮数量

【以上按钮数量均取决于页面拥有的最多的数量】

在事件玩家.Backpack_button数组中设置按钮:


设置页面:

自行设置页面子程序:图中已举例子

事件玩家.Backpack_page = 数组(基本按钮, 基本按钮, 基本按钮, ……);

[该页面拥有的所有按钮]

【注意:因减少优化,请将基本按钮的按钮ID与page索引保持一致】(该条作废,详细请看文章结尾)

eg:事件玩家.Backpack_page=数组(无, 事件玩家Backpack_button[1], 事件玩家.Backpack_button[2])

(若没有调用按钮请留无)

事件玩家.Backpack_page[进度条按钮ID + 全局.Backpack_i[1]] = 事件玩家.Backpack_button[按钮ID];

事件玩家.Backpack_page[框选按钮ID + 全局.Backpack_i[1] + 全局.Backpack_i[2]] = 事件玩家.Backpack_button[按钮ID];

}

特殊按钮的调用皆为逐一调用


  • 一般按钮[基本按钮]:

功能:鼠标在选区内符合相应条件,就执行相应动作[不需要刷新页面]

用法:Backpack_button[按钮ID] = 数组(自定义字符串("按钮名称"), 颜色(默认颜色), 颜色(待选颜色), 矢量(按钮位置), 矢量(选取左上角位置), 矢量(选取右下角位置));

如果为死按钮,请将button[按钮id][4]与button[按钮id][5]设置为数字0


  • 变量按钮[基本按钮]:

功能:自定义字符串带有变化变量的一般按钮

用法:Backpack_button[按钮ID] = 数组(自定义字符串("按钮名称"), 颜色(默认颜色), 颜色(待选颜色), 矢量(按钮位置), 矢量(选取左上角位置), 矢量(选取右下角位置));

【请在按钮动作执行完后,加上两条规则(图中已给样例)进行刷新】


  • 拖拽按钮[基本按钮]:

用法:Backpack_i[0]=按钮ID

Backpack_i[1]=可以被拖拽按钮ID数组

【被拖拽按钮都建议设置成拖拽按钮】


  • 属性按钮[基本按钮]

用法:事件玩家.Backpack_attribute = 事件玩家.Backpack_button[按钮ID]:

button[按钮id][6]=数组(属性1,,属性2,属性3)

【所有基础按钮均可与合并功能】

  • 进度条按钮[特殊按钮]

用法:Backpack_button[按钮ID] = 数组(自定义字符串("按钮名称"), 颜色(文本颜色), 颜色(进度条颜色), 矢量(按钮位置), 矢量(选取左上角位置), 矢量(选取右下角位置));

自行修改Backpack_page变量后全局.Backpack_i[1]+进度条按钮ID(这里的进度条ID是指该进度条按钮在所有进度条按钮中排序)和Backpack_button[按钮id]

进度条内的值为button[按钮id][6]

【如果要修改请自行另建变量然后导入变量,修改变量后,再重新赋值button】


  • 框选按钮[特殊按钮]

用法:Backpack_button[按钮ID] = 数组(矢量(选取左上角位置), 矢量(选取右下角位置),颜色(框选颜色),框选权重);

自行修改Backpack_button[按钮id]

Backpack_button[按钮][7]=可以被框选按钮选中的权重

案例中只提供了删除功能,若想要另定制规则,请联系作者#5524


  • 手柄按钮[特殊按钮]

用法:Backpack_button[按钮ID] = 数组(矢量(按钮位置), 矢量(选取左上角位置),矢量(选取右下角位置),按钮移动半径,颜色(按钮颜色),颜色(背景颜色));

【因考虑优化page子程序内需加入一个跳过条件和Backpack_handle[手柄按钮ID]】

自行修改Backpack_button[按钮id]与Backpack_handle[手柄按钮ID]

反馈方向为:方向(事件玩家.Backpack_button[按钮ID][0], 矢量(0,4 + -1*事件玩家.Backpack_sensitivity\ * (垂直朝向角度(事件玩家) - 事件玩家.Backpack_orientation[1]), 事件玩家.Backpack_sensitivity * (水平朝向角度(事件玩家) - 事件玩家.Backpack_orientation[0])) + 全局.Backpack_spot)

【由于负载限制,手柄按钮没法做得太精确(就是在环内移动)】


  • 键盘按钮[特殊按钮]

用法:Backpack_button[按钮ID] = 数组(自定义字符串("按钮名称"),矢量(按钮位置), 按钮(键盘按钮),颜色(基本颜色),颜色(按中颜色));

自行修改Backpack_button[按钮id]


按钮移动位置的方法:

事件玩家button[按钮ID][3] +=矢量(0, 0, 0);

事件玩家button[按钮ID][4] +=矢量(0, 0, 0);

事件玩家button[按钮ID][5] +=矢量(0, 0, 0);

工坊代码为:

动作
{
	事件玩家.Backpack_button[0] = 数组(事件玩家.Backpack_button[0][0], 事件玩家.Backpack_button[0][1], 事件玩家.Backpack_button[0][2], 事件玩家.Backpack_button[0][3] + 矢量(0, 0, 0), 事件玩家.Backpack_button[0][4] + 矢量(0, 0, 0), 事件玩家.Backpack_button[0][5] + 矢量(0, 0, 0), 事件玩家.Backpack_button[0][6], 事件玩家.Backpack_button[0][7]);
}

框选按钮:

动作
{
	事件玩家.Backpack_button[0] = 数组(事件玩家.Backpack_button[0][0] + 矢量(0, 0, 0), 事件玩家.Backpack_button[0][1] + 矢量(0, 0, 0), 事件玩家.Backpack_button[0][2], 事件玩家.Backpack_button[0][3]);
}

手柄按钮:

动作
{
	事件玩家.Backpack_button[0] = 数组(事件玩家.Backpack_button[0][0] + 矢量(0, 0, 0), 事件玩家.Backpack_button[0][1] + 矢量(0, 0, 0), 事件玩家.Backpack_button[0][2] + 矢量(0, 0, 0), 事件玩家.Backpack_button[0][3], 事件玩家.Backpack_button[0][4], 事件玩家.Backpack_button[0][5], 事件玩家.Backpack_button[0][6]);
}

注意:任何按钮的实行功能条件的中的数组包含条件中的button索引请与button索引保持一致,最末尾的一大串代码的条件中page的索引请与page中button所在page的索引保持一致,例如:

条件
{
	数组包含(事件玩家.Backpack_page, 事件玩家.Backpack_button[10]) == 真;
	(Y方向分量(事件玩家.Backpack_page[0][4]) >= 4 + -1 * 事件玩家.Backpack_sensitivity * (垂直朝向角度(事件玩家) - 事件玩家.Backpack_orientation[1]) && Y方向分量(
		事件玩家.Backpack_page[0][5]) <= 4 + -1 * 事件玩家.Backpack_sensitivity * (垂直朝向角度(事件玩家) - 事件玩家.Backpack_orientation[1]) && Z方向分量(
		事件玩家.Backpack_page[0][4]) >= 事件玩家.Backpack_sensitivity * (水平朝向角度(事件玩家) - 事件玩家.Backpack_orientation[0]) && Z方向分量(
		事件玩家.Backpack_page[0][5]) <= 事件玩家.Backpack_sensitivity * (水平朝向角度(事件玩家) - 事件玩家.Backpack_orientation[0])) == 真;
}
动作
{
	事件玩家.Backpack_page = 数组(事件玩家.Backpack_button[10], 事件玩家.Backpack_button[11], 事件玩家.Backpack_button[12], 事件玩家.Backpack_button[13],
		事件玩家.Backpack_button[14], 事件玩家.Backpack_button[15], 事件玩家.Backpack_button[16], 事件玩家.Backpack_button[17],
		事件玩家.Backpack_button[18]);
}

详情请在案例:守望先锋符文被动和天赋技能(界面编辑器实例)中研究

案例:Minecraft工作台合成表(钻石剑)案例

案例:守望先锋符文被动和天赋技能(界面编辑器实例)

案例:6个神奇的菜单合并在一张图(界面编辑器实例)

(https://www.owmod.net/work/view/2049)

评论
这里空空如也~
这里空空如也~