Choose your operating system:
Windows
macOS
Linux
要实现用鼠标指针控制游戏,需要先完成几项操作。在高层次上,蓝图中的步骤如下所述,我们将进行细致地进行讲解:
新建一个 PlayerController 蓝图类,启用鼠标指针和其他所需的鼠标行为。
新建一个 GameMode 蓝图类,它将使用之前新建的PlayerController类。
设置 世界场景设置(World Settings) 以使用默认GameType中的新GameMode。
使用蓝图脚本编写(在关卡蓝图或任意Actor蓝图中)处理鼠标交互。
为鼠标控制创建一个自定义玩家控制器
PlayerController类默认未启用鼠标连接。这是因为并不是所有游戏都主要使用鼠标指针进行交互。以下步骤将介绍自定义PlayerController蓝图类的创建方法,以便访问鼠标指针。
注意:这些只是启用鼠标控制的基础步骤。大多数情况下,针对你所开发的特定游戏类型自定义PlayerController和GameMode都需要额外的操作步骤。
在 内容浏览器(Content Browser) 中(便于使用开发者文件夹),点击右键 并从快捷菜单中选择 蓝图类(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)。此操作将在 细节(Details) 面板中打开场景设置。
在 游戏模式(Game Mode) 类目中将 GameMode重载(GameMode Override) 属性设为之前创建的 Mouse_GameMode。
运行地图时应该可以看到鼠标指针。不过,如果你已经设置了一些行为(通过C++代码或蓝图),这个时候将没有任何反应。下图为在编辑器中运行(PIE)的Gameplay截图。