RMXP教程3-2

本段教程制作实例:游戏开始,主角会自言自语介绍故事背景(……)随后主角的师父走过来让主角选择接一个任务去取5个某物品,取够之后完成任务。

首先,游戏中设置好角色的初期位置(游戏刚开始的时候角色默认脸向下),然后新建一个新事件,图形设置好,将事件开始条件设置为自动执行,表示一开始进入游戏,主角就会立刻开始说话。然后选择事件指令的“显示文章”,编辑主角将要说的话。在这个显示文章的框里写字的时候要注意,不要把整个文字框写满,每一行要在还剩下两个字的时候就换行,因为RM的对话框在显示对话的时候,最后两个字是显示不完整的。写完一段话之后,可以按F2预览你当前的这段话。当然,显示文章里面还有很多特殊的代码用途,按一下F1可以看到,比如给文字加上特殊的颜色,直接显示数据库里1-N号角色的姓名或者开启金钱窗口之类的。这些在后面我们都慢慢应用。每一条事件指令都可以自由编辑,写错了的话选中按空格就能再次编辑了。

主角简介之后,加一个旁白——这时主角的师傅走过来。这一段为了显示出一个旁白的效果,可以把文字从屏幕下面放到中间来并且把文字换一个颜色,同时窗口透明。使用“更改文章选项”,将位置改为“中”,然后窗口改为“不显示”,那么在游戏里就只会显示字并且位置在中间了。但是,要记得旁白完毕之后改回来,否则后面的文章都会这么显示了。

旁白的字最好和正常对话的字不一个颜色,那么就在显示文章中使用“C[n]”的代码,n可以等于1-8八个不同的数字,指代八种不同的颜色。按F2就能预览出来效果了。在这个实例里我同样用了“N[n]”的代码来直接读取数据库的角色名字,用N[1]的时候,RM会自动显示数据库1号角色的名字。

接下来,就要控制角色的师傅,也就是你目前设置的这个事件向角色走过来了。事件处理第二页,“设置移动路线”指令就是这样使用的。选择它以后,先在最左上角确定好要移动的对象——“角色”“本事件”或者是在下拉列表里选择其他事件。也就是说一个事件其实可以操纵另一个事件的移动。虽然这张地图上我们目前只有一个事件,但是以后会增加更多的话,也要记得别弄错了对象。然后就是具体的移动设置,右边有很多按钮操作,都很直观。每点选一次出现一个“向右移动”,就表示该对象向右移动一步。所以我们这里要他走三步,就要有三个向右移动。然后因为移动完它的脸是冲右的,为了让他和主角说话,加一个“面向主角”的指令就可以了。在移动路线里面也可以控制开关的开合,并且临时更改一个事件的移动速度、频率、以及“选项”(移动动画、静止动画等)。“更改角色图片”的设置会在后面一起讲到,更改不透明度和合成方式也很简单,如果想要让一个人突然变得透明,将不透明度改小一点就行了。“脚本”不属于此教程研究范畴,所以不再多说。左下角有个“重复移动”和“忽略不能移动的场合”,也很容易明白,当“重复动作”勾上之后,事件会一直这么走下去。“忽略不能移动的场合”可以表示为当前方有不能通行处的时候,会自动跳过剩下的那些移动指令。如果因为移动到了不能走的地方造成游戏卡死,也可以检查这里并且勾选上避免致命的bug。

设置完移动路线之后,可以在事件指令第二页找到一个“等待移动结束”的命令,加上之后事件就会等移动路线里的对象走完再继续执行下面的部分——而如果事件在重复行走或者走到不能动的地方卡住了,游戏整个就会卡死。所以使用起来要稍微小心一点。

然后是交代任务。主角的师傅让主角打开房间里锁住的柜子然后拿五个回复剂。主角可以选择做还是不做——做的话则接到该任务,不做的话则自动事件中断,主角的师傅在屋子里溜达,然后和他对话可以再次接任务。这里就有一个选择项的使用——它也是条件分歧类判断的一种。在第一页找到“显示选择项”,就可以看到RM里最多有四个选择项可以供设置。而事实上,分歧可以最多创造五个——右边有一个“取消的场合”,表示当你按下ESC的时候,会跳转到哪个分歧。在这个实例里如果你按下了ESC,默认为第二个选择,即和选择“呃,等我一会儿好吗?”的场合相同。而如果你想在四个选择之外多出第五个选择,就选择那个“分歧”即可。同理,如果不需要按ESC,选择“无效”,那么在出现选择项时,你按ESC就不会有任何反应了。

然后根据不同的选择,师傅可能会说不同的话。接下来,就是重点,(全局)开关和独立开关操作。首先用不同的两个独立开关将自动运行的事件页终止,否则此段剧情会自动反复执行。没接任务的时候师傅会继续要求你接任务,那么打开独立开关A,新建一个事件页,设置出现条件为『独立开关A为ON』,图形等都还是原来的,开始条件为“决定键”。内容可以再次复制这个选择项的内容过去,只不过那时候就不用再打开独立开关A了。接下任务的时候师傅会等你完成任务,那么打开独立开关B,新建第三个事件页,设置出现条件为『独立开关B为ON』,图形等都还是原来的,开始条件为“决定键”。在第二个事件页的选择项里,不要忘记页添加上在接受任务的时候打开独立开关B。这样无论是你一开始就接下来,还是后来再去找师傅对话接下来,都可以自动跳转到接完任务之后的这个事件页。独立开关的数量只有四个,并且只是在单个事件里面控制页面,不能全局调用。

接下来是开关的使用方法。它是整个游戏的全局操控引擎,无论在哪张地图里都可以根据判断这个开关是否为ON来执行事件内容。本实例里面的情景是,如果不接任务,虽然主角也可以溜达,但走到柜子那里是拿不到东西的。这里就需要使用开关来操作了。选择“开关操作”,可以看到单个开关的打开和关闭或者是一个范围之内所有的开关的打开和关闭。按右边的小三角,即可列出游戏里所有的开关。你可以通过更改最大值设定可用开关的数量,然后给你的开关起个名字方便管理。只要主角接了任务,这个开关就打开。

接下来,设置那个“拿药”的事件。选择在柜子上的那个方格,单击打开,由于它是在接到了任务才能拿药的,所以出现条件设置为“接到拿药任务”的开关为ON。本实例要实现的效果是:主角调查柜子可以拿药,一次一个并且能看到自己有了几个。当药的数量够了5个的时候,提示拿完,不能再拿。这个步骤看似简单,实际上包含了很多个操作:“显示文章”、“增减物品”、“变量操作”和“条件分歧”等。首先,使用“变量操作”,把角色手头的回复剂数量代入一个变量,然后条件分歧,判断此变量是否大于等于5,如果是,则显示已经拿完了。如果否,则增加一个回复剂,同时显示文章提示『你得到一个回复剂,目前你的回复剂数量为X。』

详细来说,首先是变量操作。它也是整个RPG游戏制作过程中的重头之一,可以用来代替开关控制你的游戏流程,用得好了能大幅节省开关数量。操作变量的时候首先也像开关一样,选择好你需要的变量并且命个名,然后对这个变量进行操作——所有能够用数字代替的数值,常理来说都可以代入变量。变量与变量之间也可以互相代入,并且也可以做加减乘除这样的运算。变量能代入的那些数值在下面都有,不一一讲解你可以自己去看,在这里我们选择代入回复剂的数量。

这之后就是条件分歧,它代表某个条件满足的时候如何如何,同时你也可以设置不满足的时候如何。如图所示,我们将要判断当代入了回复剂数量的那个1号变量是否大于5(这里的大于实际上是大于等于,如果要设置大于应该选择“超过”)。然后也要勾选一个“当条件不符合的场合”表示“否则”如何如何。没拿够的场合里面,可以继续拿,那么就要使用“增减物品”的指令了,也在事件第一页。增减物品的数量可以自己设定好,也可以代入某个变量数。这里注意,由于变量可以为负数,所以得到负数个物品的时候,等于减少了该物品。然后使用显示文章的时候,因为你的物品数量变化了,所以要再次代入变量,同时在显示文章的框内用v[n]代码——显示n号变量。由于1号变量表示你的回复剂数目,所以用v[1]就可以了。

整个具体的事件制作过程差不多是这样,当回复剂拿满五个的时候,可以回去找师傅——也就是那个独立开关C的事件页,判断主角是否拿够了,同样是条件分歧的操作。本实例的工程可以在下面下载,看不懂图文描述的话请结合工程理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值