RPGmakerxp制作ARPG教程

首先,这个脚本的作用是完全改变原来的战斗方式,从回合制变成了横板即时格斗。操作方式:上下左右控制方向,双击左或右是加速跑;C键(以下皆以键盘上的按键为准)为普通攻击,连按三下是三连击;X键是必杀技,X、前X、上X和下X分别是四种不同的必杀技,需要事先在技能窗口设定好;A键是跳跃;S键是防御;D键是暂停游戏,同时打开战斗选项窗口,第一个选项是使用道具,第二个选项是设定技能,第三个选项是逃跑;W键是换人,作用是当共同战斗的角色有2人以上时,按此键可以切换自己操纵的角色。

理解了基本的操作方式,接下来就是制作自己的角色人物了。由于战斗是横板格斗,因此需要各种各样的动作,包括待机、行走、攻击等等。这里我用从KOF游戏中提取出来的gif图片为例说明一下制作方法。

前期的准备:在Battlers文件夹中放一张图片,命名为weapon_001,图片内容为空也没关系,但一定要有这张图片。

万事开头难,首先我们要知道如何创建一个人物。先在游戏工程的数据库里新建一个角色,行走图可以随便设,但战斗图先不要设。然后我们打开脚本,在“FullCBS part-5 (Reflex)”里面,找到34行的case actor_id,这里就是设置一个人物的各种基本属性,大多数属性的旁边都有注释,不难看懂。我来解释一下@stand_body_rect、@sit_body_rect和@down_body_rect分别是人物站立、下蹲和倒地时的判定范围。相当于人物的坐标和大小。= Rect.new(X坐标, Y坐标, 人物宽度, 人物高度)设完之后我们可能对这些数字没有概念,不知道到底人物坐标在哪儿,到底有多大,别急,后面会慢慢讲到。后面的战技设定是规定了这个人物可以使用多少基本的攻击动作。比如@forte_ids[ 1] = 121 # 弱攻撃意思是使用弱攻击就等于使用121号特技。以下依此类推。

我们再把脚本往下拉,在设定完actor之后,会看到def setup_enemy_reflexes(enemy_id)和case enemy_id,这里是设定敌人的,方法和设定角色一样,别忘了在数据库中先建好一个敌人再到脚本中这个位置进行设置。

设定好人物之后没有战斗图怎么办?首先我们需要一张默认的战斗图,比如我要做一个二阶堂红丸,那就选一张红丸的战斗图,取名叫BENIMARU。注意这个BENIMARU一旦确定,就不要

随意更改,因为后面的一系列图片都要以这个作为基础。同时在数据库中为角色设置好这张战斗图,也可以顺带新建一个敌人,也用这张战斗图,用以测试。

接下来看这张照片

为什么会有这么多红丸呢?其实这就是他的动作图。请大家搜索脚本中的“def do_stand”,会找到下面这段话

def do_stand

return if @me.now_form_id/10 == 0 and !@attack_motion_plan.empty?

@dashing = false

@attack_motion_plan = [1,nil,nil,2,nil,nil,...

end

这里面的1,nil,nil,2,nil,nil,...就是人物站立时的动作编号。看一下,最大的数字是10,就表示人物站立待机的动作需要10帧。那么我们就需要10张战斗图,分别代表这10帧的动作。而图片的来源很简单,下载一张红丸站立时的gif图片,用gif movie gear打开,看看是不是有10帧的内容,多了就删掉重复的,少了就复制几帧贴在后面,总之补足10帧就行。然后选“另存为”,保存类型PNG,风格为“独立图像”,选“所有的”,在左边的白框中键入文件名范例“BENIMARU_ 00”,这时会看到下面的“文件名范例”会出现“BENIMARU_001”和“BENIMARU_002”。不错,这样保存的话,他就会自动在文件名前缀后面编号,从而得到从“_001”到“_010”的10张图片,当

然,_010这张名字得改一下,默认的是_0010。

改完之后将这10张图片也都放进Battlers文件夹里。此时进入战斗测试,看看,是不是红丸在站立待机时已经会动了呢?

以此类推,其他的动作也可以通过相同的方法完成,我就不一一赘述了,只把动作对应的编号讲一下。

站立:001-010

行走:011-020

奔跑:021-026

下蹲:031

跳起上升阶段:041

跳起下降阶段:051

防御:061

挨打:071-074

倒地(或曰死亡图):091

战斗胜利动作:901-950(可以自己改得更多)

战斗险胜动作:801-850(同上)

普通攻击(第一下和第二下是一样的):111-113

普通攻击(第三下):116-120

冲跑攻击(在奔跑中按攻击键):121-130

前强攻击、上强攻击(按住前或上再按攻击键):131-140

下蹲攻击(按住下和攻击键):141-150

空中攻击:152

空中强攻击:151

以上是一个人物的基本动作。编号161-800目前都处于空闲状态,可以日后用来做必杀技。

那么,现在一个人物就算做完了吗?在战斗中攻击试试,是不是会脚本出错?那是因为虽然在脚本中设定了战技,但在数据库中还没有设定过。刚才说到的弱攻击就是121号特技,那么就在数

据库的“特技”一栏中设一个121号特技,名字就叫弱攻击。同理122-127都要设好,是地面上的攻击技,而131-135是空中的攻击技。

最后,关于人物坐标,如何确定自己设置的坐标和高宽是合理的呢?其实打开脚本,在FullCBS part-8的第9行,将ENABLE_RECTLINE_WINDOW = false改成= true,这样在战斗中就会把人物设定的坐标和长宽矩形给画出来,一目了然,但是游戏速度被大幅降低,只是用于测试之用。

说了这么多,如果您能自己试着做出一个人物出来了,那我写这篇东西就没白费。如果大家支持,我会再继续介绍如何制作必杀技以及如何设定敌人AI等方法。

欢迎拍砖

相关文档
最新文档