在游戏开发中,输入管理是最重要的主题之一。输入是区别其他类型的娱乐和视频游戏。如果玩家不能控制自己的角色,游戏将会非常无聊。Godot engine处理了一些困难的任务,比如从设备中获取原始数据,并为游戏开发者提供了一个简单的界面。它以一种非常有趣的方式将用户输入与其节点系统集成在一起。该引擎还提供了各种帮助程序来简化输入处理。
在这一小时中,你将学习如何管理用户输入并让你的游戏做出回应。我们首先来看一下节点是如何从玩家接收输入的。然后我们将继续讨论InputEvent类,这个类包含需要正确响应输入的信息。之后,我们将在GDScript中进行一些编码。然后我们将看一下InputMap单例,以及当玩家想要选择如何控制游戏时它是如何帮助玩家的。最后,我们将了解InputEventAction,它是InputEvent的一个特殊子类,可以模拟玩家的动作。
输入基础知识
在深入讨论响应输入和管理输入之前,了解如何在Godot引擎的节点系统上下文中获取这些输入是很重要的。
获取用户输入
有两种方法可以获得用户输入:
-
每次用户进行更改时都会调用一个函数。(使用_input)
当感兴趣的输入涉及对输入设备的更改时,这尤其有用。 例如,选择按钮的按下或释放,鼠标移动或单击以及屏幕触摸或拖动。 在处理用户界面或游戏动作(例如攻击,射击,使用物品等)时,您可能希望以这种方式获取输入。 -
查询设备。(使用输入单例)
当您想知道当时是否正在按下特定按钮时,此功能很有用。 您可能希望每帧都执行一次此操作(在_process回调中),以使玩家在按下按钮时移动角色。
大多数游戏输入都会出