鼠标控制设置

如何设置游戏的鼠标控制

Windows
MacOS
Linux

要实现鼠标指针控制的游戏,开始时要完成几项操作。蓝图中的高阶步骤如下所述,我们将进行细节讲解:

  • 新建一个 PlayerController 蓝图类,启用鼠标指针和任意其他所需的鼠标行为。

  • 新建一个 GameMode 蓝图类,其将利用新的PlayerController类。

  • 设置 场景设置 使用默认GameType中的新GameMode。

  • 使用蓝图脚本编写(在关卡蓝图或任意actor蓝图中)处理鼠标交互。

为鼠标控制创建一个自定义玩家控制器

PlayerController类默认未启用鼠标连接。这是因为并非所有游戏都需要将鼠标指针用作主要的交互形式。以下步骤将介绍自定义PlayerController蓝图类的创建方法,以便访问鼠标指针。

注意:这些只是启用鼠标控制的基础步骤。多数情况下,针对开发的特定游戏类型自定义PlayerController和GameMode都需要额外操作。

  1. 内容浏览器 中(为便利可使用开发者文件),点击右键 并从快捷菜单中选择 蓝图类(Blueprint Class)

    CreateNewBlueprint.png

  2. 选取父类(Pick Parent Class) 窗口中使用搜索条找到 PlayerController 类并 进行点击

    PickParentClass_PlayerController.png

  3. 将新类命名为 Mouse_PlayerController

    MousePlayerController_CB.png

1.在内容浏览器中 右键点击 新蓝图并选择 编辑(Edit...)。此操作将打开 类默认项(Class Defaults) 窗口。

![](EditDefaultsBlueprint.png)
  1. 鼠标接口(Mouse Interface) 类目中勾选应用到项目的所有选项。这可能会包含 显示鼠标指针(Show Mouse Cursor)启用点击事件(Enable Click Events),也可能包含 启用鼠标悬停事件(Enable Mouse Over Events)

    MouseInterfaceProperties.png

  2. 保存 新蓝图。

创建一个自定义GameMode

拥有一个启用了鼠标输入的PlayerController后,下一步是创建一个使用新PlayerController的自定义GameMode。注意:如果尚未按照上述步骤创建自定义Player Controller类,以下步骤将 无法套用

  1. 内容浏览器 中(为便利可使用开发者文件),点击右键 并从快捷菜单中选择 蓝图类(Blueprint Class)

    CreateNewBlueprint.png

  2. 选取父类(Pick Parent Class) 窗口中使用搜索条找到 GameMode 类并 进行点击

    GameInfoParentClass.png

  3. 将新类命名为 Mouse_GameMode

    Mouse_GameInfoBlueprint.png

1.在内容浏览器中 右键点击 新蓝图并选择 编辑(Edit...)。此操作将打开 类默认项(Class Defaults) 窗口。

![](EditDefaultsBlueprint2.png)
  1. 在类目录中 点击 Player Controller类 旁边的下拉菜单。应该可以看到之前创建的 Mouse_PlayerController 类。将其在列表中选中。

    SelectingPlayerControllerClass.png

  2. 保存 新蓝图。

设置自定义游戏模式的场景信息属性

完成自定义PlayerController和GameMode蓝图后,现在只需要告知场景设置使用它们。

  1. 点击工具栏中的 设置(Settings) 按钮。然后从下拉菜单中选择 场景设置(World Settings)。此操作将在 细节 面板中打开场景设置。

    WorldSettings.png

  2. 游戏模式(Game Mode) 类目中将 GameMode覆盖(GameMode Override) 属性设为之前创建的 Mouse_GameMode

    WorldSettings_GameInfo.png

  3. 播放地图时现在应看到指针。除非已设置一些行为(通过C++代码或蓝图),否则此时应无反应。下图从PIE游戏进程中采集而来。

    MouseCursorInPlace.png

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback