欢迎光临散文网 会员登陆 & 注册

untiy input system 3/5

2023-08-22 11:01 作者:三维建模人天豪  | 我要投稿

4嵌入脚本

嵌入脚本较灵活,支持单个行为对应多组按键。输入行为可以是射击等单个按键,也可以是移动等二维向量(四个按键)。单个行为也可以对应不同的设备,比如移动可以对应键盘wasd的同时也可以对应手柄。

新建一个新脚本名为“input_b”并键入如图所示代码:

1、创建输入行为:必须是public,否则在资产中无法修改按键。

2、启动、卸载:必须有这两个函数,这两个函数的函数名是固定的,大小写也不能写错。unity会直接执行本函数启动、卸载输入行为。

5、启动输入行为:只有启动了,按键才会生效。如果一开始定义了多个输入行为,那么每个输入行为都需要启动。

4、判断输入行为的按钮是否按下:Update()为每帧执行,所以需要进行判断。如果按键没有按下则不执行按下的操作。在本例中,如果不加这句判断则会每帧都输出二维向量,即使没按下对应的按键。这时输出的是(0,0)。

5、按下按钮后执行的程序:根据实际情况编写即可,本例为打印一个二维向量到控制台。


编写完代码后将其添加到资产上,本例为玩家资产。需要注意的是绑定的数据与代码读取的数据类型要相同,否则会报错。即图中2号框框出的类型与代码28行读取数值的数据类型相同。这里可以进行多套按键、多个设备绑定。

图1

绑定按键时,可以按下“Listen”按钮让unity进行监听按键。操作方法为按下此按钮、按下想绑定的按键即可得到按键名。如不知道按键名可以使用此方法寻找。

图2

完成上述步骤后,如与本文程序相同,则运行游戏后按下wasd按键并控制台打印二维非零向量即为成功。

本方法还可以通过委托的方式,把输入行为的代码封装到函数中,创建新脚本命名为“input_c”,代码如下

1、初始化:需要向Performed字段插入行为函数,本文为“yidong()”。

2、行为函数:函数的参数必须为本例的类型,名称可以随便起。该参数对应资产设置中的按键映射返回信息,读取的时候同样需要与资产设置相同。

剩下的步骤与前文相同,如与本文程序相同,则运行游戏后按下wasd按键并控制台打印二维非零向量即为成功。

untiy input system 3/5的评论 (共 条)

分享到微博请遵守国家法律