最近有朋友问到:“如何实现象《光之祭》里面的按键更换领队系统?需要脚本支持吗?” 诚然,用脚本是完全可以的。但是,有很多朋友可能和我一样,对RMXP的脚本编写不熟,但又想让自己的游戏有这样的效果,那怎么办好呢?简单,用公共事件做就好! 首先,我们知道,并行处理的公共事件是贯穿整个游戏的,它会一直不停刷新,检测是否发生它里面编写的内容。所以,这类型的公共事件常与条件分歧连用。 好,知道了这种公共事件的概念,我们就来试做一下。 建立一个并行处理的公共事件,条件开关随便定,一会儿再说这个。 选条件分歧,看第4页,有一个“按纽”的选项。选中它,再选中你想设的用来换人的按键,这个范例中我们就选“X”键好了(游戏中是键盘的A键)。 OK,接着就是更换领队了。我们可以利用RMXP里面默认的一个属性:当队员离开后再加入时,会被调到队伍的最后。知道了这个,我们就有两个方法可供选择: 1、状态法。给队伍中一号人物加一个状态,再让中了此状态的队员离队再加入,就可以实现更换领队的效果了(状态法具体请看66RPG录象教学)。但是这种方法仅仅是把头领更换掉,没有什么实际用途。我们的目的是让自己的游戏象仙剑3那样,不同领队打开不同机关。那么,用下一种方法可以完全解决这个问题。 2、变量法。这种方法是给每个队员定义一个变量值,当变量值不同时更换不同领队。这个方法的好处是可以碰到不同机关时,解开机关的条件是变量值为领队的变量值。这样比较难说清,具体我们来试做看看: 设定一个变量为“头领编号”并在刚才的公共事件里编写: 条件分歧:按纽X被按下时 条件分歧:变量 [头领编号] == 0 替换队员:[角色1] 离开 替换队员:[角色1] 加入 变量操作:[头领编号] = 1 分歧结束 条件分歧:变量 [头领编号] == 1 替换队员:[角色2] 离开 替换队员:[角色2] 加入 变量操作:[头领编号] = 2 分歧结束 …………………………………… 先写成这样,未完 因为所有变量的初始值都是0,所以角色1的头领编号定义为0是为了方便。 总体来说,就是在一个大的条件分歧之下套上4个小的条件分歧(4人队伍),再用变量来判定谁是领队,接着更换。看到这里,细心的朋友不难发现,这样子的条件分歧是不可能按一下键就换一个人的,会直接换到最后。这是因为我们并没有中断这个换人事件,系统会一直执行内容到最后。这样我们就需要给此公共事件加上一个循环,并在适当的地方中断循环。具体如下: 循环 等待 2 桢 条件分歧:按纽X被按下时 条件分歧:变量 [头领编号] == 0 替换队员:[角色1] 离开 替换队员:[角色1] 加入 变量操作:[头领编号] = 1 中断循环 分歧结束 条件分歧:变量 [头领编号] == 1 替换队员:[角色2] 离开 替换队员:[角色2] 加入 变量操作:[头领编号] = 2 中断循环 分歧结束 …………………………………… 这样就可以在每次按键后换上你想要的下一个人。至于为什么在循环后要加上一个等待就不用我多说了吧。 等4个队员的分歧都写好后这个公共事件就算是基本完成了。当然,我们的游戏一般不是一开场就有4个队员的,所以具体应用时还是要做一些修改。很简单,再加一个大的条件分歧就OK。如果需要我详细说明,就跟贴好了。不多说了,附上公共事件截图和测试工程(更换领队解机关),大家自己看吧,如果还有不明白的地方请跟贴。 |