Skip to content

关于事件一体化

相关插件

相关插件:

◆Drill_EventThrough 体积 - 事件穿透关系

◆Drill_EventUnificationOfTrigger 体积 - 一体化 & 触发

◆Drill_EventUnificationOfMove 体积 - 一体化 & 移动

◆Drill_EventUnificationOfDirection 体积 - 一体化 & 朝向

事件一体化常用于一个同时占领多个图块的大事件。

多个事件能够保持像单个事件那样整体移动、朝向、触发。

名词索引

以下你可以按住ctrl键点击下面的词,可以直接定位到想了解的名词:

一体化一体化 玩家的一体化 事件组移动一体化 动力源 速度统一朝向一体化触发一体化

一体化

定义

一体化: 指多个相同标签的事件绑定在一起,形成的一个整体。

根据绑定类型,分为移动一体化、朝向一体化、触发一体化等。

玩家的一体化: 指玩家与事件绑定在一起,形成的一个整体。

事件组: 指多个事件一体化之后,形成的分组集合。

移动一体化

1)插件介绍

功能来自插件:

Drill_EventUnificationOfMove 体积 - 一体化 & 移动

绑定移动一体化后,事件组内的所有事件,能同步执行事件移动。

移动时相互穿透: 移动一体化的 事件组 自带穿透标签。

常规的多个事件执行移动时,可能会因为前一个事件阻塞后一个而造成移动失败;

而一体化的事件相互之间会穿透,所以不会出现阻塞掉队的情况。

2)动力源

动力源: 指群体事件绑定时,群体中会执行自主移动的事件。

群体事件中通常都只留一个动力源,因为存在多个动力源时,会出现谁决定如何移动的问题。

程序中如果整体里一个事件要向上走,另一个事件向下走,则根据id顺序来决定听谁的。假设向上走的事件被阻塞不能向上走,则听从下一个事件的走法。

具体可以去鼠标管理层的右上角区域,

看看单个动力源于多个动力源之间的移动效果。

3)速度统一

速度统一: 指绑定了移动一体化的事件组中,所有事件的移动速度一致。

事件组整体移动时,速度可以不一样,如果未设置 速度统一,可能会发现有些事件赶不上整体事件,虽然行走图赶不上,但并不会脱节。

具体可以去 体积管理层 看看玩家绑定速度统一后的效果。

朝向一体化

1)插件介绍

功能来自插件:

Drill_EventUnificationOfDirection 体积 - 一体化 & 朝向

绑定朝向一体化后,事件组内的所有事件,朝向始终保持一致。

具体可以去体积管理层,看看绑定朝向后,事件的行为。

触发一体化

1)插件介绍

功能来自插件:

Drill_EventUnificationOfTrigger 体积 - 一体化 & 触发

绑定触发一体化后,事件组内的所有事件,能同步触发独立开关。

注意,一体化触发只同步 开启/关闭独立开关。

而开关的触发条件本身,不会因为绑定了一体化触发,而被扩充条件。

比如,下图中,蓝色的重力开关与灰色开关相互绑定,但是灰色开关没有加触发。

玩家踩住灰色开关不会触发,只有踩了蓝色开关,才会全部触发。

2)一体化与触发条件的冲突

根据”8.物体 > 大家族-开关.docx”的介绍。

我们知道重力开关的功能,为两个触发的组合结构:踩住时开启+没踩住时关闭。

问题就在于”没踩住时关闭”的触发。

即使 一体化触发 在任何一个开关被踩住时,同步开启了独立开关,

由于这个开关没有被踩住,所以开关会被立即恢复到关闭状态。

以下图为例,一个开关被踩住,而其他三个开关没被踩住。

由于四个重力开关都为持续触发,

那么踩住的开关会保持 开启独立开关;

而没踩住的开关会保持 关闭独立开关。

因此,绑定触发一体化 与 ”没踩住时关闭”的触发 相互冲突,在设计时要小心。

我们常规理解的触发一体化,是“踩住任意一个按钮,其他按钮全部同步开启”,这也就造成了理解上的偏差。

因此,设计时只留 ”踩住时开启”触发+一体化触发,

能实现简单的大体积开关按下的功能,但是回弹需要单独用其他事件来控制。

3)鼠标悬停响应开关

功能来自插件:

Drill_EventMouseHoverSwitch 物体 - 鼠标悬停响应开关

前面介绍了 一体化 与 ”没踩住时关闭”的触发 存在设计冲突

经过插件兼容,(行走图-行走图与鼠标控制核心 的一体化支持)

该插件能合并 事件组 内的所有事件的触发条件:

悬停、悬停左键、悬停右键、悬停滚轮

鼠标触发任意一个,都同步开启相应的独立开关。

4)华容道方块设计

华容道关卡中的事件,

多个事件绑定了”华容道_第一关_方块_1” 的移动标签;

并且还绑定了”华容道_第一关_方块_1” 的触发标签。

移动一体化用于 鼠标拖拽时,能被整体拖拽移动。

触发一体化用于 鼠标接近方块后,可以点亮方块。

顺带一提,事件进行一体化绑定后,与它所在的位置没有关系。

也就是说,即使两个事件距离很远,也能同步移动、朝向、触发一体化。

你可以去看看示例中 设计-华容道 的方块事件。

从零开始设计(DIY)

设计一个大体积事件

1. 设置一个目标

2019年12月8日,作者我完成了一体化的插件。

于是这里作者我想设计一个体积为三的大方块。

2. 结构规划/流程梳理

大方块需要三个事件,并且事件之间需要添加一体化标签。

所以用到下面两个插件:

◆Drill_EventUnificationOfTrigger 体积 - 一体化 & 触发

◆Drill_EventUnificationOfMove 体积 - 一体化 & 移动

3. 事件设置

a)行走图设置

先绘制方块,画出 头部、中部、尾部 三个部分。

绘制3d的方块行走图,

可以去看看文档“7.行走图 > 关于行走图与图块.docx”中的一体化行走图的3d画法。

由于方块是固定的静态物体,所以需要添加锁定帧的注释,确保行走图不会变化。

b)自主移动设置

多个事件时,移动一体化一般要考虑 动力源 的情况。

由于 这里的设计 是被玩家推动的(事件指令执行移动路线),

不需要依靠自主移动,所以不需要考虑动力源问题。

c)事件指令设置

事件指令如下,普通的推动物体功能即可。

需要添加“移动标签”,确保三个事件能够同步移动。

4. 细节设置

需要注意的是,由于一体化的事件,是单独的事件,如果反射镜面,会非常糟糕,需要注意关掉倒影镜像。

5. 高级设置

一体化事件,可以与 物体触发 相结合使用。

三个事件中,任何一个事件被触发开关A(比如闪电击中),三个事件会同步反应执行 受伤事件页的流程。

需要注意的是,三个事件都执行事件页时,要设为并行执行;

并且,播放声音、伤害计算,只让其中一个事件执行即可,注意不要让三个事件都执行。

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史