|
Previous Step
Next Step
How-To Home
在这个步骤中,我们会让岩石在被玩家发射的射弹击中时进行销毁。 为了完成这项目标,我们会使用另一个 Bind Event (绑定事件),但我们不会将其绑定到事件调度器。 我们会转而使用一个资源文件名称为 OnHit 的碰撞事件,它会在岩石被射中时触发。
让我们开始射击吧!
在 FirstPersonCharacter 蓝图中,在我们生成岩石的位置处搜索 Spawn Actor (生成Actor)节点。
在 Spawn Actor (生成Actor)节点的 Return Value (返回值)处拉根线,然后选择 Assign On Actor Hit (在Actor碰撞时分配)。
连接 Spawn Actor (生成Actor)和 Bind Event (绑定事件)。
在 Spawn Actor (生成Actor)节点的 Return Value (返回值)处拉根线,然后选择 **Apply Radius Damage (Destructible)* (应用半径伤害(可破坏物体))。
我们可以使用 应用伤害 ,但还需要输入一些额外的参数。 为了简单起见,我们会使用 Radius Damage(半径损伤)。
在 Apply Radius Damage (应用半径损伤)节点,对下方显示的每个域我们都输入 50000 ,然后连接 Get Actor Location (获取Actor位置)节点。
这样我们就可以对岩石做出足够大的伤害,从而让岩石碎成一块一块。
在 Apply Radius Damage (应用半径伤害)节点之后,添加一个 Set Score (设置分数)节点。
在按住 Control 不放的情况下,再次拉入 Score 变量,并将其连接到 Int - Int 节点(设置为 1)并连接节点 。
这样我们就可以获得当前的分数,并在岩石每次被撞击时增加1的值。
连接 Bind Event (绑定事件)和 Set Score (设置分数)节点到 Delay (延迟)节点并设置其为 3 秒。
在3秒后,当岩石生成后(无论其是否被击中),我们都会销毁它。
给 Delay (延迟)节点添加 Destroy Actor (销毁Actor)节点。
在 Spawn Actor (生成Actor)节点的 Return Value (返回值)处拉根线,然后连接到 Destroy Actor (销毁Actor)节点的 Target (目标)位置。
在 Destroy Actor (销毁Actor)节点之后,添加 Set isActive 变量节点并保持其为未勾选的状态。
也就是说,生成的岩石不再处于激活状态,这样玩家可以生成另一块岩石(如果他们有足够的扳机扣动次数残留的话)
这样核心游戏就设置完成了,如果我们现在要在编辑器中进行播放,您可以看到,您可以显示生成、射击和销毁在关卡中的随机生成点生成的岩石。 在下一步,我们将会与HUD进行通信,并基于来自于角色蓝图的值来更新显示的值。
Previous Step
Next Step
How-To Home
|
|