[ 分享 ]10.PLAYER ATTACK STATE(攻击状态)
Linpean
2017-11-01
本系列是油管上的HeartBeast的[Beginner] Make an RPG课程的中文笔记,主要形式是截图的方式进行步骤上的说明。面向对象:GameMaker新手,以学习一门脚本编程语言,制作一个RPG游戏为目标的爱好者。
本节主要内容:
- 13.10.10.1.创建带有特效的精灵SPR_PLAYER_ATTACK_DOWN
- 13.10.10.2.创建一个组PLAYER,将角色相关的精灵放入在内
- 13.10.10.3.在INPUT脚本中,书写释放攻击的按键检测
- 13.10.10.4.创建攻击脚本SCR_ATTACK_STATE
- 13.10.10.5.在SCR_MOVE_STATE脚本,进行切换状态
- 13.10.10.6.使用ANIMATIONEND事件来再次切换状态回到MOVESTATE
创建带有特效的精灵spr_player_attack_down
宽高为28*42,一共7帧,同样采用strip的方式进行多个导入精灵图片
设置原点和碰撞盒,这里需要将原点设置为对应的待机动作的匹配原点,即根据待机时的精灵图片的原点,来设置攻击的精灵图片,原点(也是因为这里攻击的精灵图片和待机的精灵图片不一样大小的缘故),这样在播放攻击的精灵动画时就不会发生跳帧。
和原有的向上行走动画spr_player_down的y轴点保持一致
同样的,创建其他3个精灵
spr_player_attack_right(7,10)
spr_player_attack_left(28,10)
spr_player_attack_up(14,31)
创建一个组Player,将角色相关的精灵放入在内
在Input脚本中,书写释放攻击的按键检测
创建攻击脚本scr_attack_state
设置攻击时播放精灵动画的速度
根据sprite_index的变量值来改变动画精灵图片。
在scr_move_state脚本,进行切换状态
检测到攻击按键按下时,将状态切换成攻击状态
使用AnimationEnd事件来再次切换状态回到movestate
即当攻击动画被播放完后,状态切换回移动状态
在obj_player的Add Event---other---Animation End事件中添加如下代码
到了攻击动作就做好了,但是关于攻击的效果(伤害和击退呢都还需要后续添加)
lumartin
2018-04-11
您好,我按照您的教程做到这里,但是出现了攻击动画播放经常掉帧,缺帧,播放不完全的情况,请问是应该什么问题呢
你好,可以把教程用到的素材分享出来吗?谢谢。