事件系统

概述

事件系统是一种可视化编程系统。通过可视化的命令来编写游戏内容和逻辑。

概述

事件系统是一种可视化编程系统。通过可视化的命令来编写游戏内容和逻辑。

一般在满足条件后触发执行事件页内容,比如预设了界面组件的点击事件,需要玩家点击该组件时触发。

事件指令会按照从上至下的顺序一条一条执行过去,会受到逻辑控制的影响导致跳行执行或跳回到指定的行来执行,

也有一些指令需要等待执行完成后才会执行下一行。

下图展示了点击NPC后执行了事件逻辑:有判断和对白。

alt text

触发线(触发器)

每个事件的执行都对应一根触发线,多个事件同时执行则代表使用了多条触发线。

自定义触发事件类别支持设定多触发线或单触发线,如果是多触发线,则每次执行都会新建一根触发线来执行该事件页的内容。

举例

假设制作了一个界面组件点击事件-执行需要花费10秒才执行完毕,

如果界面组件的点击事件是单触发线,则玩家点击一次后开始触发事件,再次点击就失效了,只有等待10秒执行完毕后才能够继续执行。

而如果是多触发线则玩家点击一次则开启一条新的触发线开始执行,每条线执行都花费10秒左右才执行完毕。

场景的触发事件

支持绑定自定义的触发事件类别,比如进入场景的事件、离开场景的事件等,自定义一个触发类别名称后在脚本中实现触发即可。

比如RPG-苍之羽模板中有一个名为“进入场景”的触发事件。

alt text

场景对象的触发事件

支持绑定自定义的触发事件类别,比如点击对象的事件、碰触对象的事件等,自定义一个触发类别名称后在脚本中实现触发即可。

满足执行条件的话多种事件是可以同时执行的。

比如RPG-苍之羽模板中有3种事件:“点击事件”、“碰触事件”、“并行事件”

alt text

界面组件的触发事件

支持绑定自定义的触发事件类别,比如点击事件、鼠标悬停事件等,自定义一个触发类别名称后在脚本中实现触发即可。

满足执行条件的话多种事件是可以同时执行的。

比如RPG-苍之羽模板中有多种事件:“点击事件”、“鼠标悬停、“鼠标离开”等等

alt text

调用事件库的事件

事件库的事件是指预先制定好的事件页,当一些事件或逻辑会在多处调用时,一般会作为作为事件库的事件存放,以便各处调用。

在事件中调用了事件库的事件则相当于临时追加了事件库的事件里的所有事件,等该事件里的内容执行完毕再继续执行后续的事件。

比如事件执行ABCD,其中B是事件库的事件,内容是1234,那么执行的内容实际上是A-1-2-3-4-B-C-D。

alt text

调用独立事件

本质上是以启动一条新的触发线,与本触发线无关,新触发线独立去执行事件库的事件,而本触发线则继续向下执行。

独立事件的生命周期是当事件内容执行完毕才结束(支持跨场景执行)。

比如事件执行ABCD,其中B是独立事件,内容是1234,那么当前触发线执行的内容是ACD,启动了第二条触发线同时执行1234。

alt text

调用事件片段和独立事件片段

事件片段可以视为轻量级的事件库的事件,相当于打包插入一小段事件到事件页中。

独立事件片段效果同独立事件库的事件

alt text

自定义事件指令

支持用户自定义追加事件命令:可视化制作事件命令的编辑器,以及使用脚本编写相关的逻辑。

比如TBRPG-梦之剑模板追加了一些自定义的指令

alt text

可视化制作自定义事件指令编辑器

alt text


Copyright © 2021 - 2025