找回密码
 立即注册
查看: 379|回复: 0

快速开始(InputSystem)

[复制链接]
发表于 2022-2-14 09:35 | 显示全部楼层 |阅读模式
(自翻,有问题交流可留言。)

通过简单快捷的方式获得控制器

步骤:

1.添加一个PlayerInput组件

2.创建Actions

3.脚本行为的响应

Step1:添加一个PlayerInput组件

过去想要简单便捷地获得一个输入驱动,需要通过不同的驱动方式。那些驱动方式在后续的修改中变得非常的棘手。

或者,你可以选择一种更轻松的方式,这种方式如同设备之间有一个统一的平台,这个平台可以在游戏中触发相关的事件。这种轻松的方法就是在Inspector窗口里点击AddComponent案件,添加一个PlayerComponent组件,

image

Step 2:创建一个控制器

每一个PlayerInput组件代表一名玩家加入了游戏。通过接受输入信息,这个组件必须连接一个控制器。可以快速地在Inspector窗口的组件内点击"CreatActions……"按钮去创建。这种最快速创建的控制器,默认具备了Input的映射、相应的委托、Input的绑定。

image

当你点击CreatActions按钮时,Unity会询问你在什么地方创建这个新的配置资源,选择路径以及取名后点击确定即可创建。它会创建与一个新的控制器配置资源到你的项目当中,同时连接这个组件(PlayerInput component),还有绑定上编辑窗口的控制器文件(Inputactions files)。

(个人注:控制器配置资源是为了方便理解,实际上就是控制器与委托的映射集合。下图是创建后的默认配置)

image

你可以编辑这个默认的设置去匹配你项目中所需要的功能。想要更多地理解窗口编辑,可以通过文档查询。

Step3:设置行为(Action)响应

当组件具备了行为(Actions),你必须为每一个行为设置一个响应(responese)。PlayerInput(组件)允许你设置几种不同的响应方式。

(注:Actions就是创建了控制器资源配置后自动关联的那个对象。)

image

更多的选项细节,文档位于notification behaviors.截图中使用了"Invoke Unity Events",这个UnityEvent与UnityUI的使用方法非常相似。Unity会显示组件事件中的委托方法。这个Invoke Unity Events允许你像Unity一个样快速的挂上脚本。

image

每一个方法拥有一个InputAction.CallbackContext,它可以触发委托或多个委托。想要了解更多的信息,查看Action callbacks。
publicclassMyPlayerScript:MonoBehaviour {     publicvoidFire(InputAction.CallbackContext context){ Debug.Log("Fire!");} }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-16 22:44 , Processed in 0.090705 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表