|
(自翻,有问题交流可留言。)
通过简单快捷的方式获得控制器
步骤:
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!");} } |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|