你所看到的那些看似简单的技能,很可能是开发者呕心沥血做出来的

2020/06/0660 浏览日常碎片
忙活一上午,我做了个能自动解除变身的尤迪安!成就感爆棚!
TapTap
你敢相信我就为了这么一段小小的触发捣鼓了一上午!
触发的作用是:让尤迪安在蓝量不足25点的时候自行解除变身(变身会持续损失蓝量)
听起来很简单对吧。但要在war3的编辑器中实现,远比我想象中的要难。
一开始我用事件做,发现必须要魔法值发生变化才能触发动作,低蓝量(不足25时变身)会导致永久变身。于是我设置了在0魔法值也能动作,但发现低蓝量变身过程中蓝量就已经掉到0!动作来不及!
于是我又想到可不可以在这个技能本身上动手脚,我就把「恶魔变身」替换成了穴居恶魔的钻地,因为这个技能是有明确的关闭形态的。但我试了多种方法,想让钻地技能在第一段时耗蓝,第二段不耗蓝(这样蓝量不足就不能变身。)但均以失败告终。
后面我又想到通过献祭模拟变身效果、通过删减技能实现多段变身、通过让尤迪安的蓝量实时波动从而让事件检测到实时蓝量等等千奇八怪的方法,但全部因为太过麻烦而告吹。(其实是我太菜)
最后,就在我要黔驴技穷的时候,我想到了循环计时器检测法。
原理是在游戏开始就启动一个循环计时器,这个循环计时器每秒会记录一次尤迪安的当前蓝量,并启动动作触发器。动作触发器会检测尤迪安是否处于变身状态、记录的蓝量是否小于等于25。如果满足条件,则进行逆变身动作。
这好像是我玩war3这么多年,第一次做出一个和war3自带技能稍稍不同的技能。(虽然机制是一样的)
现在再回头看冰蛙的dota,里面光是一个蚂蚁的时光倒流,就透露着恐怖的代码量和运作原理。
让单位回到五秒前的位置和状态?这听起来挺容易。
7
1