GameMaker Studio 2

创建于:2017-04-19

创建人: dougen

190 信息 1082 成员
游戏开发工具 GameMaker Studio 2 的讨论小组

RPG_Basic(28):优化精灵控制

Linpean 2017-10-22

Youtube视频地址:HeartBeast

首先添加两个宏变量(Macros)



在obj_ player的create事件中:其中facing变量已有,所以需要再创建一个Movement来标识角色 状态

创建一个二维数组变量[dirction, state],基于方向和状态来存储角色的精灵信息。

来分别设置move状态下的精灵显示和attack状态下的精灵显示。


在obj_player的step事件中,使用刚才创建的二维数组变量来更新精灵索引


在scr_move_state脚本的第一行 ,令movement = MOVE,更新行动状态


值得一提的是如果是八方向的移动,在Macros的宏变量中,就需要添加 八个方向的定义,并在scr_get_face脚本中,dir应该除以45.变量face=8.


但这里只使用4个方向移动。以上就是movement和face(调用scr_get_face脚本)变量更新和赋值



由于我们已经使用二维数组变量来更新精灵索引了,所以可以移除在scr_move_state后面的更新精灵索引switch语句


运行游戏,可以看到效果,角色移动时,精灵会发生变化。

Image title


与更新movement为MOVE类似,在scr_attack_state的首行,更新movement = ATTACK;并且移除switch语句。


对应修改下面的代码


然后在scr_dash_state中也将movement =MOVE,因为冲锋过程和移动过程的动画是一样。


到此精灵控制优化就完成了


近期喜欢的会员

 

加入 indienova

  • 建立个人/工作室档案
  • 建立开发中的游戏档案
  • 关注个人/工作室动态
  • 寻找合作伙伴共同开发
  • 寻求线上发行
  • 更多服务……
登录/注册