在蓝图中重生玩家
您将在此了解如何在蓝图中重生单人游戏中的玩家人物。
重生玩家(单人游戏)
以下详述了单人游戏中玩家被杀死时重生所需执行的步骤。
以下步骤基于使用 第三人称模板里的蓝图 项目,但是,您可随意使用任何项目。
在您的项目中,打开 Game Mode 蓝图(我们使用的是 ThirdPersonGameMode 蓝图)。
在图表中 Right-click 并添加 Event Begin Play 节点, 然后再次 Right-click 并添加 Get Player Character 节点。
拖出 Get Player Character 节点的 Return Value 并添加 Cast To ThirdPersonCharacter 节点, 然后连接这些节点。
您要转换到您的玩家人物蓝图,此示例中即 ThirdPersonCharacter。 此操作将允许我们访问它并决定玩家人物何时因使用 On Destroyed 事件而被杀死,而此时我们可以生成新的玩家人物。
拖出 As ThirdPersonCharacter C 针并添加 Assign On Destroyed 节点。
从 OnDestroyed_Event 节点连出来,添加 Delay 节点并将其设置为您想延迟重生的任意时间(可选)。
这里,我们将事件绑定到其他蓝图中的另一事件。 此操作允许该蓝图中的事件在另一蓝图中的事件发生时启动(即 ThirdPersonCharacter 中的 OnDestroy 事件)。 这称为 Event Dispatcher,而且也可用于和 Level Blueprint 通讯以告知世界一个事件已发生。
请参阅 事件调度器 文档以了解更多信息。
从 Delay 节点连出来(若已添加), 添加 SpawnActorFromClass 节点并从下拉菜单中将 Class 设置为 ThirdPersonCharacter。
创建新的 Transform 变量并命名为 Spawn Transform, 然后将其连接到 Spawn Actor 节点的 Spawn Transform。
在图表中 Right-click 并添加 Possess 节点。
您可能需要取消勾选 Context Sensitive 才能使此节点出现在菜单中。
将 Spawn Actor 的 Return Value 连接到 Possess 节点的 In Pawn,然后连接执行线。
拖出 Possess 节点的 Target 针并添加 Get Player Controller 节点。
在 Event Begin Play 节点旁,在图表中 Right-click,然后添加 Custom Event 并命名为 Respawn。
您可能需要重新选中 Context Sensitive 才能使此节点出现在菜单中。
将自定义事件连接到 Cast To ThirdPersonCharacter 节点。
拖出 Possess 节点并调用 Respawn 事件,您的完整图表应如下所示。
单击图像可查看全图。
Compile 并 Save,然后关闭蓝图。
打开 ThirdPersonCharacter 蓝图,在图表中 Right-click 并添加 Event Begin Play 节点。
再次 Right-click 并添加 Get Game Mode 节点,然后拖出该节点并 Cast To MyGame(或您的游戏模式)。
拖出 As My Game C 针并添加 Set Spawn Transform 节点。
在图表中 Right-click 并添加 Get Actor Transform 节点,然后将其连接到 Set Spawn Transform 节点。
此操作旨在获取玩家开始游戏时的位置,并将其设置为重生位置。
在图表中 Right-click 并添加 F 按键事件,然后从 Pressed 针连出来接 Destroy Actor 节点。
此操作用于测试用途并将在按下 F 键时杀死(摧毁 Actor)。 当玩家失去足够生命值或通常可能杀死您的玩家的某个其他事件时,您很可能会调用 Destroy Actor 节点。
如果您 Compile 并在编辑器中玩游戏,当您按下 F 键时,您会瞬间消失,然后在起点重生。