[ 分享 ]7.GAMEPAD INPUT(手柄输入)
Linpean
2017-10-29
本系列是油管上的HeartBeast的[Beginner] Make an RPG课程的中文笔记,主要形式是截图的方式进行步骤上的说明。面向对象:GameMaker新手,以学习一门脚本编程语言,制作一个RPG游戏为目标的爱好者。
本节主要内容:
- 检测手柄的输入。
- 剥离其他模块的输入检测,集成到scr_get_input中
检测手柄输入
作者是以Xbox360手柄为例,首先在scr_get_input脚本里面添加手柄输入代码
检测手柄是否连接成功(0是指槽位,或者说某个手柄),在连接成功的条件下
访问手柄十字方向轴的按下情况(正负),来为四个Key赋值
注:有关手柄输入的具体函数用法,可以参考官网文档Reference--Mouse、Keyboard and Other Control一节中的内容
剥离obj_player和scr_move_state脚本中的输入检测代码
将关于移动变量的xaxis和yaxis的处理都放到scr_get_input里面去,在obj_player中只访问它们
首先先在obj_player对象的create事件中,初始化变量xaxis和yaxis
然后将原来在scr_move_state脚本中根据四个key值来为xaxis和yaxis赋值的语句删除掉,移动至scr_get_input脚本中
并且在scr_get_input中将检测手柄输入来为四个key进行赋值的语句,修改为直接为xaxis和yaxis变量赋值。
到此。在scr_move_state纯粹是根据xaxis和yaxis的值来进行移动,不再负责按键检测和输入,处理。