- 注册时间
- 2004-11-7
- 最后登录
- 2009-7-28
⑦老手
pliskin
- 积分
- 7004
|
彻底改变战斗模式----让事件直接战斗
众所周知,游戏大体上是利用图片和数字组合的东西,游戏中的战斗也是一样,其实,只要我们设计一下,完全可以只用事件就设计rm新的战斗格式.(不用脚本还是不行)
rm的固有战斗是引用战斗者的图片再加上动画达成的,我们现在,直接的把主角移动到一个特定的地图上进行战斗,敌人也不是图片,而是事件.不过,设计这工程好比是个重工业,只要你知道原理了,设计任何技能都很容易.
其实思路很容易---把rm的固有战斗用事件的方式表示出来,也就是就说,用事件把数据库中的敌人,队伍重新写一次.
好了我们先不管数据库什么的,先来看看战斗地图吧------设计的战斗样式是左边敌人,用2个事件代替;右边主角,用3个事件代替,这里全部用空白事件,因为你读取的敌人不同,而且相信根据主角离队加入,主角也不一定一样,所以要用空白.然后战斗方式和普通的rpg没什么不同,都是你一拳我一脚的模式
公共事件"敌人类型"的设计:把敌人的maxhp hp maxsp sp at df sat sdf speed等数据用变数写一次,
----设一个变数"敌人类型",然后写,当"enemy type"=1的时候,写第一个敌人的情况,比如:maxhp
=5,hp=5,maxsp=....,然后,你设计几个敌人,几这么一循的写下去.(很烦人的工作).写这个的目的,就是为了战斗的时候以后读取这个东西;
敌人队伍:模仿队伍写的东西------设计一个"敌人队伍"的变数,比如,当这个变数=1的时候,就是1个敌人a,2的时候是2个,3的时候,4的时候,这里分3种情况----一个敌人,不同敌人,相同敌人;一个敌人最好说,直接将设计好的enemy type的数据调用就可以了,其他2种情况要再设计一个备用的maxhp hp maxsp sp at df sat sdf speed这写东西,为了与前边的不同,加一个1字区别.
当然了,你要在战斗上出现3个敌人也是一样的道理.相同的敌人也简单,就是把maxhp hp等数据
赋予给maxhp1 hp1;不同的就要一步一步的写了,不过也就是复制设计好的东西.
主角:光有敌人不行,还要有主角.主角可以偷点懒,数据可以直接调用数据库中"主角"的数据,
当然了,变量名称还是要自己写的----比如:变量"夜夜的maxhp"就是夜夜的maxhp,.....魔法,攻击防御,有几个主角就写几次(什么夜夜的,66的,Slice的)
我们实验一下:设计2个地图,随便.一个是战斗地图(全部空白),一个是事件地图.我们在事件地图上设计几个可怜的敌人----蓝蛇,66,Jing和几个主角sizz,夜夜,sailcat,主角碰到敌人就把主角移动到战斗地图开始战斗.这里要加一点-----记录坐标,设计一个公共事件"进入战斗",变数"记录x","记录y","记录id",几个变数分别表示主角的x,y,和地图id,然后把主角面向固定,并透明就可以一把主角跳到"战斗地图"上来了.比如:"敌人类型1是蓝蛇,和事件接触就和1个蓝蛇战斗
那么,就在事件上写:"enemy type=1,公共事件"enemy type",变量"敌人队伍"=1,公共事件"敌人队伍"(这个前提自然是et=1的时候是蓝蛇的数据,敌人队伍=1的时候是1个蓝蛇了)
再写一个公共事件"敌人的描绘"----这个比较简单,就是当"敌人队伍"=?的时候,将战斗地图上左边"敌人"的事件改变图形.主角图形的描绘是根据现有的主角来看到底描绘不描绘的.
战斗采用时间条的方式-----谁的时间条满了,那么谁就行动.
战斗开始----由于敌人数据在碰到敌人的时候就以已经读取了,现在就是调用公共事件"图形描绘了."----总之,音乐,图形,背景描绘完,就打开一个"数据读取完毕"的开关,把数据放在那.
时间条:这个是个小学的路程问题了,速度(speed),时间(比如7砧),路程(时间条),每个主角,和左边的2个敌人都写一个,我还设计不了通用的时间条.比如:"每4砧变数"sizz的时间条"就加
sizz speed,当"sizz 时间条"的数值到80的时候,让sizz行动.其他的也是一样.因为行动是个单一的事件,所以用变数"行动代号"表示谁的动作是什么.比如"代号"=1的时候是sizz的攻击2是防御.3是特技,4是物品,然后5的时候夜夜攻击....因为物品是通用的,就全部用3好了.
公共事件"选择敌人":选择图标用一个事件图片代替,出现条件:当"行动"=!0的时候出现,这个地方我也说不明白----大体就是先看"行动"的数据判断图标应该出现在敌人那边还是我们这边---当"行动"=3的时候(使用物品),我们这边----然后自动执行事件"按上,把事件移动到角色1前边,按下..."然后按确定就怎么样等等.
物品:物品的设计可以直接在"物品"中设计,不过物品的作用要在公共事件中设定.对了,这之前要根据"选择"的对象确定应该加谁的数据.这地方是个难点.但也很好理解.就是物品在不同的情况下使用不同.
特技:和物品是一个模式,不过特技主要有几个分类:攻击,祝福,诅咒;攻击魔法最简单,就是数据加减,攻击过后,根据"行动"那个变数(判断攻击的人)来调用攻击人的攻击力,然后根据"选择敌人"来判断攻击的是什么人,然后就是数据的加减问题.那么,持续魔法呢?设计一个"持续"的变数
比如当"持续"=1的时候,表示魔法祝福,效果是"使我方单人的攻击+5",这和物品是一样的,都是用"行动"和"选择"判断受魔法的人,效果也就是动画+数据的加减.
大体上就是这么多----每次"行动"完毕后,就把"行动"归0,把响应的开关关闭就可以了,这样那个时间条就继续执行了,等待下一个行动的人.最后是判断胜利和失败了,很简单:"当敌人1的hp=0并且敌人2的hp=0的时候胜利----胜利也要写一个公共事件,这个你自己去写,所实话,很麻烦
什么得到经验啦,得到物品拉(这个我还没有设计,我只设计了得到经验)----最后就是把敌人1,敌2的数据全部归0,把主角跳会到变量为:""记录x","记录y","记录id"坐标地图上,并切把面向固定解除,把主角透明改位普通. |
|