鼠标控制设置

概述

为使您能在游戏中使用鼠标指针,在一开始您必须要完成一些设置。 从更高的层面来说,蓝图中的步骤如下。 下文我们会以更详细的细节进行描述:

  • 创建一个启用鼠标指针及其它所需鼠标操作的新PlayerController类蓝图

  • 创建一个使用您的新PlayerController类的新GameInfo类蓝图

  • 设置 World Settings (世界设置)以在默认游戏类型中使用您的新GameInfo(游戏信息)。

  • 使用蓝图脚本(在关卡蓝图内或任意Actor蓝图内)以处理鼠标互动。

对鼠标操作创建自定义玩家控制器

默认情况下,PlayerController类不启用鼠标接口。 这是因为不是所有的游戏都要求鼠标指针作为其互动的主要形式。 在以下步骤中,我们会带领您共同参与自定义PlayerController类蓝图的创建,完成后您就可以在游戏中使用鼠标指针。

请注意,下文仅为启用鼠标控制的基本步骤。 在大多数情况下,还需要采取其他步骤来对您的PlayerController和GameInfo进行自定义,以适应您正在创建的特定类型游戏。

  1. Content Browser (内容浏览器)中(为方便起见,请使用您的开发者目录),在关联菜单中右键点击并选择 Blueprint (蓝图)。

    CreateNewBlueprint.png

  2. Pick Parent Class (获取父类)窗口中,使用搜索栏来查找PlayerController类并点击它。

    PickParentClass_PlayerController.png

  3. 将您的新类命名为 Mouse_PlayerController

    MousePlayerController_CB.png

  4. 在内容浏览器中右键点击您的新蓝图并选择 Edit Defaults (编辑默认值) 。 这将会打开属性窗口。

    EditDefaultsBlueprint.png

  5. Mouse Interface (鼠标接口)分类下,勾选所有应用到您项目的选项。 这样很可能会包括 Show Mouse Cursor (显示鼠标指针)以及 Enable Click Events (启用点击事件),有可能会包括 Enable Mouse Over Events (启用鼠标悬停事件)。

    MouseInterfaceProperties.png

  6. 保存您的新建蓝图

创建自定义GameInfo(游戏信息)

现在我们有了一个启用了鼠标输入的PlayerController(玩家控制器),下一步是创建一个使用新PlayerController(玩家控制器)的自定义GameInfo(游戏信息)。 请注意,如果您还没有按照上述教程完成对自定义玩家控制器类的创建,则此处阐述的步骤将 不会 产生效果。

  1. Content Browser (内容浏览器)中(为方便起见,请使用您的开发者目录),在关联菜单中右键点击并选择 Blueprint (蓝图)。

    CreateNewBlueprint.png

  2. Pick Parent Class (获取父类)窗口中,使用搜索栏来查找GameInfo类并点击它。

    GameInfoParentClass.png

  3. 将您的新类命名为 Mouse_GameInfo

    Mouse_GameInfoBlueprint.png

  4. 在内容浏览器中右键点击您的新蓝图并选择 Edit Defaults (编辑默认值) 。 这将会打开属性窗口。

    EditDefaultsBlueprint.png

  5. 在游戏信息分类下,点击 Player Controller Class (玩家控制器类)旁的下拉框。 您应该能看到先前创建的 Mouse_PlayerController 类。 从列表中选择它,然后关闭属性窗口。

    SelectingPlayerControllerClass.png

  6. 保存您的新建蓝图

为您的自定义游戏信息设置世界信息属性

现在我们已经完成了自定义PlayerController以及GameInfo蓝图,只需告知世界设置使用它们即可。

  1. 点击工具栏上的 世界设置 按钮。 这将会打开细节面板的世界属性。

    WorldSettings.png

  2. Game Type (游戏类型)分类下,设置 Default Game Type (默认游戏类型)属性为我们先前创建的 Mouse_GameInfo 。 把PIE的游戏类型设置为 None

    WorldSettings_GameInfo.png

  3. 当您在地图中游戏时,您现在应该能看到鼠标指针。 然而,除非您设置过一些游戏内行为(通过C++代码或蓝图),在这里进行鼠标操作将不会产生反应。 下图是在PIE游戏时的截屏。

    MouseCursorInPlace.png