跳到主要内容

事件菜单

导言

完成事件标题后,发现默认的菜单与自己写的标题风格完全不搭怎么办?看到大触们的菜单画面依然眼馋啊……

如何让菜单也具有个性,咱来教你~

项目描述
系统完善度★★★☆
学习难度★★★☆
学习时间30分钟-1小时
范例工程逐梦 v1.4 开源版

img

要点

该系统基本为事件标题的延伸,但指令繁杂容易出问题,对作者要求会更高。学习此系统必须先掌握标签的用法。

开始

首先你要准备素材,其次你需要把默认菜单屏蔽掉,屏蔽默认菜单用事件可以做到。

打开范例工程中数据库-公共事件的“打开菜单”,你会看到以下事件。这个是用来判断玩家是否打开了菜单的。

img

注释:

①并行处理:既要判断玩家是否打开开关,又不能影响玩家正常游戏,你需要并行处理。

②条件开关:这个开关就是前一篇教学中的游戏开始时打开的开关,开关打开后这个公共事件便会执行。

③条件分歧:此分歧用来判断玩家是否触发了剧情,在进行剧情的时候记得把这个开关关上哟。

④条件分歧:这个分歧用来判断菜单是否已经被呼出。

⑤条件分歧:这个分歧用来判断玩家是否按下了Esc。

⑥变量操作:初始化光标位置。

⑦渐变:呼出菜单的动画效果,别漏了“准备渐变”

⑧开关操作:呼出菜单后将此开关打开防止玩家重复呼出。

菜单呼出后,接下来要对菜单进行刷新,咱往下翻一个公共事件,找到“菜单处理”公共事件。 哇好长,别被吓到了……

img

注释:

①自动执行:千万要是自动执行,想必你是不想看到自己在操作光标的时候看见地图上自己也在走动的。

②条件开关:就是上一个公共事件打开的,不多说了。

③给每个子选项的判断,这里是:如果全部为OFF,则代表在主菜单,执行主菜单的刷新。这里的条件分歧要记得勾上“除此以外的场合”。

④这一段事件似乎跟上一篇教程的做法不同。由于事件菜单的选项较多,想要保证多选项的情况下达到相同的表现效果,而又便于制作者debug,我推荐用这种集中式的写法。所以先记住里面名为“刷新菜单”的标签。

咱接着往下翻,会看到依然是集中式写法的两个判断和一个标签跳转。

img

注释:

①标签跳转:这个指令所在的位置有点特殊,但这是一个十分关键的标签,这个标签跳转会在前面的判断都不满足时执行,目的是跳过后面的集中命令,防止在玩家不操作的时候也会对菜单进行错误的刷新。

接下来就是刷新菜单的核心部分。

img

注释:

①标签:此标签就是从上面跳下来的,必定会执行下面判断其一,一旦执行一个便会跳转到末尾,这样一来就与上一篇教程的效果完全相同了。此写法优点是集中了同类刷新的命令,方便出问题时debug。

接下来是对打开选项时的指令进行剖析。情况分为两类,一类为退出菜单回到游戏,一类为进入子选项,咱先从退出菜单开始。

img

注释:

①标签:从上面跳下来的。

②标签:这个标签比较特别,还记得上面的B键分歧么?也就是说那条分歧是直接跳来这里面的。这个要从选项内容来看,范例工程中的菜单第一项为“返回游戏”,如此一来选择第一项和直接按Esc的效果是一样的,二者可以共用,那么直接跳进这里面就可以解释了。

③开关操作:千万记得要把开关关上,否则你就见不到第二次菜单了。

搞定了菜单关闭,再来看看子选项。

img

注释:

①变量操作:光标重置。本范例中为了减少工作量,主菜单和子选项的光标变量是共用的,所以记得重置光标。

②开关操作:记得把对应的子选项开关打开,否则菜单依然会错误地进行主菜单的刷新。

主菜单的刷新以此类推,全部完成以后,接下来做的事子选项菜单的刷新,原理是与主菜单相同的,但是要

注意以下两点:

  1. 从子选项菜单退回主菜单的时候,光标位置不能重置为0,必须对应进入子选项时的数字,否则光标会回到“返回游戏”的选项,并有可能造成界面错乱。
  2. 主菜单和子选项菜单的标签必须区分开写,比如结束1,结束2,结束3等,否则会出现错乱。

剩下的是一些零散但必要的设置:

img

一定要记得在结束标签后面加上等待1帧,不然会卡死。

img

img

存读档的脚本要对上,除此之外诸如物品,特技,状态等选项也要对上脚本,由于这些类型的菜单使用事件做出来十分繁杂,所以还是推荐使用脚本。

img

如果你做了音乐鉴赏又使用了BGS,需要通过脚本来单独还原已经记忆的BGM。

打开脚本编辑器,将Scene_Item,Scene_Skill,Scene_Equip,Scene_Status,Scene_End,Scene_Save里面类似$scene = Scene_Menu.new(4)这种返回到默认主菜单的脚本改为返回到地图,否则会恢复到默认的菜单。

结束

(~ ̄▽ ̄)ノ事件菜单就此做完啦~是不是感觉炫了很多呢?虽然可能比不上脚本大触们的菜单,但你们的菜单也就此不再逊色。