[ 分享 ]14.Enemies that Attack(怪物攻击)
Linpean
2017-12-12
我们本系列是油管上的HeartBeast的[Beginner] Make an RPG课程的中文笔记,主要形式是截图的方式进行步骤上的说明。面向对象:GameMaker新手,以学习一门脚本编程语言,制作一个RPG游戏为目标的爱好者。
本节的主要内容为:
创建alarm[1]来用作怪物攻击时的停顿时间
创建脚本scr_enemy_stall_state
在该脚本中,如果计时器alarm【1】归0时就调用,怪物待机脚本
创建与玩家角色的碰撞事件
在碰撞事件中,如果发生碰撞时,怪物没有处于stall状态,就在怪物和玩家的方向上创建一个damage对象,对玩家造成伤害.
创建完damage后,将怪物置于Stall状态,并开始计时,等待计时归0,进入idle状态.
这里的stall状态可以理解成Dota的“后摇”,也可以理解为RPG的“公共技能CD时间”,总之在这段时间内不能再创建damage对象。
但到这里还有一个问题未解决,就是damage对象可能会碰撞人物多次,造成的结果就是人物被伤害了多次,因为在damage实例被销毁之前,人物每帧都可能与damage发生碰撞。