如何设置游戏的鼠标控制
0. 前言
要实现鼠标指针控制的游戏,开始时要完成几项操作。蓝图中的高阶步骤如下所述,我们将进行细节讲解:
新建一个 PlayerController 蓝图类,启用鼠标指针和任意其他所需的鼠标行为。
新建一个 GameMode 蓝图类,其将利用新的PlayerController类。
设置 场景设置 使用默认GameType中的新GameMode。
使用蓝图脚本编写(在关卡蓝图或任意actor蓝图中)处理鼠标交互。
1. 为鼠标控制创建一个自定义玩家控制器
PlayerController类默认未启用鼠标连接。这是因为并非所有游戏都需要将鼠标指针用作主要的交互形式。以下步骤将介绍自定义PlayerController蓝图类的创建方法,以便访问鼠标指针。
注意:这些只是启用鼠标控制的基础步骤。多数情况下,针对开发的特定游戏类型自定义PlayerController和GameMode都需要额外操作。
在 内容浏览器 中(为便利可使用开发者文件),点击右键 并从快捷菜单中选择 蓝图类(Blueprint Class)。
在 选取父类(Pick Parent Class) 窗口中使用搜索条找到 玩家控制器(PlayerController) 类并 进行点击。
将新类命名为 Mouse_PlayerController。
1.在内容浏览器中 右键点击 新蓝图并选择 编辑(Edit…)。此操作将打开 类默认项(Class Defaults) 窗口。
在 鼠标接口(Mouse Interface) 类目中勾选应用到项目的所有选项。这可能会包含 显示鼠标指针(Show Mouse Cursor)、启用点击事件(Enable Click Events),也可能包含 启用鼠标悬停事件(Enable Mouse Over Events)。
保存 新蓝图。
2. 创建一个自定义GameMode
拥有一个启用了鼠标输入的PlayerController后,下一步是创建一个使用新PlayerController的自定义GameMode。注意:如果尚未按照上述步骤创建自定义Player Controller类,以下步骤将 无法套用。
在 内容浏览器 中(为便利可使用开发者文件),点击右键 并从快捷菜单中选择 蓝图类(Blueprint Class)。
在 选取父类(Pick Parent Class) 窗口中使用搜索条找到 GameMode 类并 进行点击。
将新类命名为 Mouse_GameMode。
1.在内容浏览器中 右键点击 新蓝图并选择 编辑(Edit…)。此操作将打开 类默认项(Class Defaults) 窗口。
在类目录中 点击 Player Controller类 旁边的下拉菜单。应该可以看到之前创建的 Mouse_PlayerController 类。将其在列表中选中。
保存 新蓝图。
3. 设置自定义游戏模式的场景信息属性
完成自定义PlayerController和GameMode蓝图后,现在只需要告知场景设置使用它们。
工具栏快捷设置
- 点击工具栏中的 蓝图 按钮。然后从下拉菜单中选择游戏模式 →选择GameModeBase类 选择刚刚创建的Mouse_GameMode。
项目设置
点击菜单栏上的编辑 ,选择项目设置。
在 地图和模式 类目中将 默认游戏模式 属性设为之前创建的 Mouse_GameMode。
播放地图时现在应看到指针。除非已设置一些行为(通过C++代码或蓝图),否则此时应无反应。下图从PIE游戏进程中采集而来。