Overview
本指南旨在分享一些制作地图的小技巧,使用到了官方默认地图编辑器或者BEE工具包。不含锤子编辑器,它的门槛太高,不适合普通大众。
一个按钮连接多个触发体的上限
如图所示,官方地图编辑器最多支持一个按钮连接8个物体。
有没有办法使得一个按钮能触发的物体数量超过8个呢?你可以使用 激光中继器 来达到这个目的。
像上图这样,让按钮与激光发射器相连,然后在激光传播方向上放置多个激光中继器,而每一个激光中继器又能触发多个物体,多个激光中继器加起来就能实现一个按钮触发多于8个物体的效果。通过这种方式,理论上一个按钮可触发无限个物体,不过在游戏中物体总个数是有限的。
使用激光中继器存在的问题。
像上图这样,当激光中继器放置在墙壁上,调整激光发射器在靠近右侧墙壁的位置,在实际运行中,其发出的激光并不能激活激光中继器,原因就是激光与中继器之间存在一定的距离。
然而把中继器放置在地面上,激光发射器调整到靠地面的位置,实际运行确发现激光能激活中继器。
其实是激光被篡改了,它的传播路径被下调了一点从而能够穿过中继器,保险起见,可以在激光束的末端放置一个反方向的激光反射方块,来进一步下调激光束的位置,当然,你大可不必这样做。
或逻辑门的实现
在官方地图编辑器中,把两个按钮连接到一个被触发物体,默认的逻辑是“且”,意思是:只有两个按钮同时被按下,才能触发物体。那么,如果想要改成任意一个按钮被按下,都可以触发物体怎么办呢?这时候用到的逻辑就是“或”了。
像上图这样,左右两边各一个激光发射器,中间一个激光中继器,不论是哪个发射器发出了激光,都能激活中继器,这就实现了 或逻辑门。两边的激光发射器分别连接两个按钮,中间的中继器连接要触发的物体,就实现了两个按钮都可以触发物体的效果。
如果你使用了BEE工具的话,就比较方便,它内置有 或逻辑门,它还内置有 非逻辑门 和 异或逻辑门。
瞬时激活转长时激活
基座按钮可以设置激活时间,也可以设置成永久激活。那么像普通按钮这种触发器想实现按一下再松开也能永久激活的效果该如何做呢?
或逻辑门 的正反馈连接方式是实现这个效果的最简模型。
这里先用一张图介绍一下基本逻辑门的表示方式:
利用上文提到的 或逻辑门 实现方式,把两个激光发射器和一个激光中继器看成一个整体,即“或逻辑门”,可以先将输入和输出分别与这个 或逻辑门 相连接,如下图。
然后再将这个“或逻辑门”的输出(即激光中继器)连接到它的另一个输入(即另一个激光发射器)形成一个反馈回路。
这样就得到了一个一触即发,永久生效的触发器。
如果直接使用BEE里面的或逻辑门物件,会发现这样一个问题,物体无法与自己相连,在编辑器里这样操作时,看似好像没问题,但其实是没有进行连接的。
从自身的输出到自身的输入这一条回路出现了问题,因为不能自己连自己。那么解决办法就是在这条路径上增加一个物体,这个物体没有实际作用,仅仅是为了连接一条回路而已。
这个物体你可以使用“且逻辑门”,也可以使用“或逻辑门”,也可以使用两个串联的“非逻辑门”,因为负负得正嘛。自然你可以使用任何一个同时拥有输入和输出的物体,同时要保证逻辑正确。注意:连接的顺序很重要,它代表着信号的流动方向,一定要从输出端连向输入端(即右键输出信号的物体,选择连接至,再点击需要输入信号的物体)。实际运行效果如下图(逻辑门物体是不可见的也不占用空间):
创意工坊里的众多地图,比较常用的方式是“方块 – 强光桥 – 按钮”的堆叠实现。它也能达到瞬时激活转永久激活的目的。瞬时激活的是取消强光桥,然后方块就会落下来,压到按钮,得到永久激活的输出。
使用这种方式可以灵活地设置各种延时方式。
比如下面这张全自动地图,使用了大量延时效果:
[link]
(1)触发后立即激活,延时失效
基座按钮的激活特点就属于这种,按下按钮后立即激活,然后延时之后再失效。
如上图所示,输入连接到方块掉落器,初始时要掉落一个方块,牵引光束正对一个按钮,按钮连接一个 非逻辑门,它的输出就是最终的输出。
不使用BEE工具如何实现 非逻辑门 呢?方式有多种,可以根据实际连接的物体设置初始启用、初始翻转、初始部署等;也可以使用激光来单独实现一个 非逻辑门(激光需要初始启用):
(2)触发后先延时,然后永久激活
这种效果的实现跟上面很相似,但更简单一些。
(3)触发后先延时,然后激活,然后失效
实现这个效果时,我使用了RS触发器,关于它的详细介绍请先查阅后续章节。
如上图所示,RS触发器的S端作为输入,R端作为输出。S端还要与方块掉落器相连接;Q端则与牵引光束相连,改变牵引光束的活动状态或者极性都可以。如果是改变活动状态,则初始不启用;如果是改变极性,则需初始翻转。
(4)持续触发,延时后激活
这种效果的实现跟上面很相似,也更简单一些。
改变牵引光束的活动状态或者极性都可以。如果是改变活动状态,则初始不启用;如果是改变极性,则需初始翻转。
长时激活转瞬时激活
这个转换我思考了很久,甚至一度认为不使用复杂的组合逻辑门或逻辑触发器的情况下无法实现。
最终想出的方式却极为简单,看下图。
按钮为输入,它连接到激光发射器,中间的激光中继器与其右侧的有角面板相连,右边的激光接收器为输出。当长时间压下按钮时,会激活激光,同时激活中继器和接收器,有角面板激活会挡住激光的末端,接收器又失效了。这样就完成了长时激活到瞬时激活的转换。
时钟信号与基本触发器
本章节需要一定的数字电子技术基础,只要你是个逻辑理解力不弱的人,相信你也能轻松看懂以下内容。
时钟信号本质是逻辑信号以固定频率不停地在假(0)和真(1)之间反复切换,其中由一个假持续时间和一个真持续时间组成一个时钟周期,它的图像如下图所示。
实现它的方式非常简单,这里介绍其中一种方式。
上图中的按钮与牵引光束相连,改变的是其极性,方块就会鬼畜一般不停地去按按钮,然后被弹开又去按,一直这样重复下去。按钮输出的信号就是时钟信号,虽然不太严格,但已经足够了。
RS触发器的构成有很多种,在数字电子技术中,一般使用的是两个 与非门 或者两个 或非门 构成。这里使用一个 或门 和一个 与门 外加一个 非门 的构成形式。
RS触发器中的R端是Reset,重置的意思;S端是Set,设置的意思。关于RS触发器的逻辑原理我就不多叙述了,重点来看它能实现什么功能。
上图是RS触发器的特性表,从中可以看出:
(1)当R=S=0时,输出Q为之前的Q,意为原来的Q是1,现在还是1;原来的Q是0,现在还是0。即保持原来状态。
(2)当S=0,R=1时,Q被置为0。即重置的意思。
(3)当S=1,R=0时,Q被置为1。即设置的意思。
(4)当R=S=1时,Q为1,但在实际意义上来说,不能存在同时设置又同时重置的情况,因此它是无意义的。
接下来看看如何在地图中实现一个RS触发器。
首先做一个 或门,并让其中一个发射器作为S端,其输出作为Q端。
接下来在附近做一个 非门,其输入端为R端。注意不要忘了,非门 的激光发射器需要初始启用。
然后按下图这样连接即可。
就这样,一个RS触发器就完成了,看到这里,或许你会有点疑惑,且门 哪去了,没有用到它呀。仔细看上图那两个弧线箭头,它们的信号都流向 或门 的另一个激光发射器。还记得官方地图编辑器里默认的设定吗?当一个物体有多个输入时是用 且逻辑 来处理的,即要求它们都为1才会触发,换句话说,那个 且门 是嵌入到激光发射器里了。
你可以用这个RS触发器做一个单向通过的门。这里我使用90度的玻璃面板作为一个通道的门。
运行效果:
另外,在下面这张地图中,我使用RS触发器来实现 自动切换 传送门的效果:
[link]
上述的时钟信号和RS触发器能完成,就代表着以它们为基础,能够创造出更多的逻辑门。如同步触发器、边沿触发器、寄存器、计数器、脉冲发生器等。