|
本帖最后由 啤酒布丁 于 2020-1-8 13:04 编辑
学到的请在评论区夸我,昨晚入睡前想到这个脚本,理论上可以做到正常横版动作游戏的几乎所有连招机制,兴奋得晚上没睡好觉,如果不是怕家里人骂我,昨晚就爬起来直接做出来了,不需要任何脚本基础,适合像我一样的脚本小白。
下面教学开始。效果图见GIF。按下就即时触发连招的机制,演示中我故意体现了可以很快地打出三连,也可以很慢的打出三连。人物会闪烁应该还是有哪里的数值我设定的不是特别好,导致技能动画衔接有问题,应该不是设定问题,有能力的自己尝试优化。
教学1:基础普攻连招教程
step1:将人物动画导入,并建立对应角色。
需要注意的点:1、人物有几段连招,创建几个人物。
2、导入的角色的待机动画应为上一角色攻击动画的最后一帧,且 设置为无延迟
3、由于目前基础机制的设定,如果在攻击中切换人物,会强制执 行完一遍待机动画才可以操作,所以导致初始人物的待机动作也只能有一张图,且设置成无延迟,为了连招,只能牺牲角色的待机动作了。现阶段没找到方法避免,只能看小雨以后是否把这当成bug修复。
4、小技巧:导入多个角色资源,但只希望他们的某一种动画不同的话,可以把这个角色先导出资源,然后再导入,就可以得到多个一样的角色资源啦,没发现之前我每建一个都得重新导入一遍全部素材,真是蠢死我自己了。
step2:设置变量和触发器。
需要设置的变量有:1、连招计数(数值,默认为0)
2、循环计数(数值,默认为0)
设置的触发器:见图,触发器设置。
触发器几个需要注意的点,见图。
注意点1中:
1、我标注的1对应的是我角色第一下攻击动画帧数,一共是6帧,为了流畅度,这里取7帧,可以保证与下一个角色的待机动作重合。
2、我标注的2对应的是每一帧都确认一次玩家有没有按下攻击键。基本上不需要改动。说到这里想到一点,有的时候连招不流畅,注意是不是自己武器设置的攻击间隔过长导致的?如果是的话可以适当调整触发器数值或者直接调低武器攻击间隔。
3、我标注的3对应的是我角色第二下攻击动画帧数,一共是6帧,同理我改成了7帧
注意点2中:
由于现在基础机制的设定,即使我把第一个角色的待机动作设成了无延迟,但完成三连击基本上还是会有3帧左右的时间角色不能动作。如果在此之前连招计数被归零,那么在这3帧期间玩家按下攻击键,就会导致连招计数为1,但是没有触发玩家攻击动画,那么玩家就会在3帧后再次按下攻击键,触发攻击动画,然而实际上攻击判定已经被提前触发了=-=总之就是会出现各种各样的问题,听我的,这里加个3帧没毛病。
教学1结束, 如果你们希望三段攻击伤害依次递增,只要更改对应角色的基础属性就可以,比如第一个角色攻击力只有50,第二个角色100,第三个角色200之类的,或者你愿意的话,还可以在第三段连招成功触发时给他加个提高伤害的buff什么的,这些小改动我提个思路你们自行理解,我的教学本身就是基础教学,小改动更是基础中的基础。
教学2:拓展连招。
提前说明,这里我只能讲一下思路,理论上肯定可行,写这篇教学的时候我还没有去实践效果如何,写完应该会去做一个试试,甚至如果精力足,今天晚上我就上传一个只有boss战的游戏上来让大家体验效果。
如果说,我想要那种我角色前两下是普攻,或者前三下是普工,然后可以下一步可以追加释放个火球怎么办?虽然用我刚才的方法也能勉强做出来(更改角色攻击动画的画布大小,来调整角色每一次攻击的攻击距离,放火球……做动画……好累啊)
但是我们还有个更偷懒的办法,利用游戏的子弹系统。
有的人可能说了,我装备的近战武器怎么发射子弹?难道中途还给更换个武器吗?
NONONO!那样的话会更容易出现奇奇怪怪的bug。这里我要说的是,利用角色技能系统!!
我们通过触发器,将角色的默认MP设置为0(不是MP上限为0,比如你有100上限,)
比如我这个角色,前三下是挥鞭子。我希望她在完成三连击后可以再发一个火球。如果不完成三连击,就不能发火球。甚至我希望它发射完火球后如果我及时按下某个按键,她还可以再追加一个突进斩!
那么我们可以先制作两个技能,分别是发射火球和突进斩,并且将消耗蓝量设置成不同的值,这里假设发射火球耗蓝5点,突进斩10点。
把这两个技能给角色安装上,分别为U 和 I,并且在之前的连招触发器中,在第三次攻击成功判定那里,给角色+5点MP,并在30帧内判断橘色后减少5点MP
那么玩家只要在三连击后30帧内,按下U键就能发射火球。
只要你在火球技能设定执行一个加10点MP,30帧后再-10点MP的通用触发器,那么火球后就可以追加释放突进斩了~~
眼尖的人可能发现了,如果玩家在30帧内按下了U键,那么此时角色拥有蓝量为
0+5-5(技能消耗)+10=10点。可是如果玩家还没等按出下一个技能I,已经到达30帧,减少5点MP的判定时间了,那玩家不就没办法释放突进斩了吗?
有问题是好的,既然我在这里提出来了,就说明我刚才写的时候意识到了。
不过问题不大,因为这个30帧应该跟你的火球技能释放时间有关。
两个解决方法:
方法1:
举个例子,玩家释放完火球的动画需要45帧完成,那你可以在通用触发器中设定按下技能后等待45帧再增加10点MP不就得了?如果你火球动画需要15帧就完成,最好的办法当然是减小之前30帧这个数,但考虑到玩家反映总需要时间,这个数值调太小也不好……
我们先脑补一下,这种情况下会导致什么呢?
玩家在三连后第1帧就按下了U,15帧后也就是第16帧玩家释放完火球,可以释放突进斩了。原本的设定释放完火球30帧后才扣除10点MP,现在只要再过15帧就被扣了5点,导致技能按不出来了。
这就导致了玩家如果过早的按下火球技能,就会无法释放突进斩……
这是多好的连招机制啊!!!!你的第一段连招按下的时机将会直接影响你第二段连招的触发时间是否正常!!!
好吧……我之前做伪连招机制的时候就有这个问题……所以,果然还是得方法2?
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|