UE4学习笔记 使用计时器,完成一个走入火中开始掉血的例子
UE4学习笔记 使用计时器,完成一个走入火中开始掉血的例子
在项目中,打开 ThirdPersonCharacter 蓝图。
创建两个自定义事件,分别用以下命名。
添加名为FireDamage的函数
拖开 PlayerInFire 事件并添加 Set Timer 节点。
拖开 PlayerNotInFire 事件并添加 Clear Timer 节点。
对于 Set Timer 和 Clear Timer,需要将 Function Name 设置为 FireDamage。
在 Set Timer 上,将 Time 设置为 0.75 并选中 Looping 选框。表示每0.75秒调用一次函数。
将 Set Timer by Function Name 节点的 Return Value 引脚连到 Clear Timer by Handle 节点的 Handle 引脚。
新建一个名为 PlayerHealth 的 Int 变量,点击 编译,然后将 Default Value 设置为 100。
在FireDamage函数中,按如下连接蓝图:
每次调用该函数PlayerHealth就随机减去(1-4)点数值,并把PlayerHealth print出来。
打开 Blueprint_Effect_Fire 蓝图,然后单击 Components 选项卡。选择Box Collision。命名为Trigger。
点击Trigger,在细节面板里添加如下两个事件,分别是进入碰撞和离开碰撞。
按如下连接蓝图。
点击编译然后关闭蓝图。
将 Blueprint_Effect_Fire 蓝图拖入关卡
运行游戏,这时如果玩家走入火中,就会受到持续伤害。