${计算}变量使用小技巧
计算变量使用小技巧
目录
- 前言
- 实时状态显示
- 可调节的时间显示
- 切换式按钮
- 自定义人物显示
前言
本文是进阶向的教程,推荐在对沙盒系统有一定了解后再进行尝试
回声岛在v2.3.5更新了${计算}这一变量,利用这一变量,这个看似不起眼的功能实际上大大提高了沙盒的自由度上限,而目前回声岛上似乎还没有针对这一功能的攻略教程,于是决定简单整理一些自己制作沙盒的经验,方便大家和我自己以后制作时复制参考。
为了避免混淆,首先声明,下文中的“变量”均指的回声岛的${变量}功能,而“元素”均指${计算}变量内部出现的内容。
${计算}变量内的元素分为三种类型,即字符串、数字与数组,如果你希望你的元素是一个字符串或者数组,请在元素的两侧加上""或[],否则${计算}变量会默认将这些元素解析为其他类型,导致计算出错。大多数输入框中仅允许输入数字或字符串,请一定要在使用时注意这一点。
此外,${计算}变量内允许出现空格,填写此类变量时,在计算符号的两端加入空格,以及适当的加入换行,可以帮助你更好的辨识变量内容,在进行较为复杂的运算时,请多加括号以防达不到你的目标效果。
实时状态显示
1. 实时显示最大生命值和当前生命值:
这个功能完全无需用到计算功能,但既然出现在这里还是提一下吧,只需要创建一个默认节点,并填写以下内容。
${角色.角色名.hp.上限}/${角色.角色名.hp}
2. 根据当前生命值自动修改血条的长度
一般情况下,我们采用默认节点并修改节点的“背景颜色”等数据,即可创建一个血条节点。
如果你的血条是横向的,那么血条的长度即是节点的“宽度”,在节点数据中的“宽度”一栏中填入以下内容即可。
${计算.${角色.角色名.hp} / ${角色.角色名.hp.上限} * 100}%
如果你想要血条的样式更丰富——比如,我想制作一个心形的血条,单独使用上述方法往往不能达成理想的效果,楼主平时采用的是一种较为取巧的办法制作,制作一张背景png,而将血条的图形部分留空,在该图片节点的下层放上一个上述默认节点。
3. 根据当前生命值自动修改血条的颜色
如果你采用了上述方法创建血条,自然可以直接在“背景颜色”中进行条件判断来修改,比如我希望,在生命值>=10时为绿色,10>生命值>=5时为黄色,5>生命值时为红色,我们可以在这一栏中填入以下变量。
${计算.
${角色.角色名.hp} >= 10
? "#22C55E"
:(
${角色.角色名.hp} < 5
? "#EF4444"
: "#FACC15"
)
}
-
再提醒一次,“背景颜色”输入框只能填写字符串,别忘了""哦!
先别急着划走!这些内容没有你想象的那么难,我们从头开始拆解。
在这个节点中,我们使用了${计算}变量中的三元条件运算符,x ? y : z的含义是 “如果 x 则 y 否则 z”。回到上面那个变量中,我们嵌套了两层的运算符,它实际上的含义是这样的:
如果角色hp >= 10,则血条的颜色是绿色;否则,如果角色hp<5,则血条的颜色是红色,否则血条的颜色是黄色。
在理清了这一逻辑后,便可以利用三元条件运算符制作出更丰富和定制化的效果了。
4. 渐变色血条
上面的方法看上去还是太麻烦了,有没有更简单的方法呢……
有的,兄弟有的,那就是利用节点“定制样式”中的“滤镜设置”,可以利用“色相”滤镜轻松的实现颜色的变化。
比如说,上述操作实际上是色相由360到260的变化,我们将当前剩余生命值的比例与色相一一对应,即可实现血条颜色的渐变!依然是从绿到黄再到红,我们可以在“背景颜色”中选择绿色,而在“色相”中填写以下变量。
${计算.360 - ${角色.角色名.hp} / ${角色.角色名.hp.上限} * 100}
想要得出这个变量的写法需要一点初中数学的知识,计算出“色相”随“当前的角色hp比例”变化的函数,这里就不过多赘述了,除了改变色相,利用“滤镜”功能也能实现颜色变暗/变亮等效果。
切换式按钮
(施工中)
可调节的时间显示
(施工中)
自定义人物显示
(施工中)
赞美自由细胞老师!