Skip to content

ERB 的内置流程

Emuera 内部有一套固定的游戏流程。它会在特定时机自动调用名字特定的函数——我们要做的,就是把逻辑填进这些“框架函数”里。教程版见内置流程,完整的流程图见程序流程

引擎自动调用的函数

函数调用时机用途
@SYSTEM_TITLECSV 加载完毕、执行 BEGIN TITLE标题画面
@TITLE_LOADGAME标准标题画面选择“读取存档”时自定义读取画面
@EVENTFIRST新游戏开始(BEGIN FIRST)时初始化、开场
@SHOW_SHOP进入商店/主循环时主界面与操作菜单
@EVENTTRAIN开始训练时训练前的准备
@SHOW_STATUS需要显示状态时状态栏
@SHOW_USERCOM显示指令菜单时列出可选指令
@USERCOM玩家选择指令后处理选择
@EVENTCOM执行指令时指令的具体效果
@EVENTCOMEND指令结束后收尾处理
@EVENTEND游戏结束时结算画面
@SYSTEM_AUTOSAVE自动保存时自定义自动存档内容
@EVENTLOAD存档读取完毕后读档后的处理
@CALLTRAINENDCALLTRAIN 自动执行结束后收尾

@CALLTRAINEND 不是事件函数,不能多重定义。其余带 EVENT 前缀的多为事件函数,可以定义多个,全部都会被调用。

用 BEGIN 切换流程

BEGIN 是推进游戏流程的命令:

关键字含义
BEGIN FIRST从头开始
BEGIN TITLE回到标题画面
BEGIN TRAIN开始训练
BEGIN AFTERTRAIN结束训练
BEGIN ABLUP进入升级界面
BEGIN TURNEND结束回合

调用 BEGIN 会终止当前函数的执行,且不会返回原来的函数。

流程概览

下面这张图是交互式的,点击节点即可跳到对应条目:

最小示例

erb
; 不定义 @SYSTEM_TITLE,直接使用引擎自带的标题画面

@EVENTFIRST
  PRINTL 欢迎来到我的游戏!
  WAIT
  BEGIN TITLE

相关链接

GPL-3.0+ Licensed