但是,正如视频里所说,后面这个满排系统被我改掉了
双线抑扬法被改成了计数位移法并正式发布。
至于为什么视频里面没介绍那个呢……主要的原因是双线抑扬法显得逼格特别高
当然,其实主要的原因是……我是先规划的剧本,然后做的录音,最后录制的视频。等我开始录制视频了发现,双线抑扬法在录制的时候非常不稳定……于是就在录制当中停了下来,把系统整个改动后再继续录制……所以各位也知道这个过程有多辛苦了吧
回归正题,计数位移法就非常简单了。和双线抑扬法的对比图如上。这一回没有了抑制线,只有上扬线。上扬柱进入上扬触箱后,并不是立即激发后退运动,而是给那一排的计步变量+1。上扬柱重新下来后,再和之前一样,本排变量row_X+1到11,整体飞到顶排。
之后,各排根据自己的计步变量的多少,等待后往下运动不同的距离。变量为1,下移1格;变量为2,下移2格;以此类推。
整个程序就这么多,就这么简单
所以就是这么的简洁可靠
。这也是我遇到跳帧bug后坚持改进的原因。
值得一说的是,计步变量的相应动作分别写在了4个方块里,如下图所示。
这也是个很重要的设置。计步变量的相应必须要放在消排动作之后,这样的话就必须要有开始的响应时间的延迟。因此,如果放在一个物体里面,并且按照一次运动一格,之后变量-1的思路,那么每一次运动都要等待这个延迟,这是完全的浪费时间。所以必须要三个程序分开。
三个程序分开,又不能变量=1走一格,变量=2走两格。因为变量是一个一个加起来的,那么假如最终变量=4,那么变量为1/2/3的程序都会被启动起来,这样就会出现同时运动bug。为此,程序最后设置为,不同变量值都是向后移动1格距离,但是变量=1延迟0.08s,=2时延迟0.12s,以此类推。这样,变量2的响应就会落在1之后,互不冲突。
最后说说程序分配。
本排变量=10,只有上扬柱感应,并且和之前的一样。
上扬触箱感应“enter”圆柱后,给本排计步变量+1。
从本排的第2触箱开始,到第5触箱,分别书写了计步变量不同变量值的动作,都是在延迟一定时间后,向下移动一格,之后再将计步变量归0。
4个相应计步变量的程序,最后都有归0,但是并不会影响动作。因为动作的相应是从变量等于各值的时候启动的,而归0一定发生在启动之后,所以即使是多次归0,也不会终止已经启动的动作。
这里就体现出了变量控制和命令箱控制的区别了。
变量控制就是,变量值来了,就启动。不管中间经历了什么过程(除非命令的载体被失活)否则这段已经启动的程序不会终止。
而命令箱就是,自己被激活了,就启动。而一旦命令箱被失活,那么承载的程序也会立刻终止。
因此活用两种控制系统,对于复杂系统的设计非常有用。