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