16
先看帧率与速度的关系:
一个游戏5fps,即每秒更新5次,如果速度不乘DeltaSeconds,速度就是原速度*5。
上例所示:一秒钟10m,不乘DeltaSeconds,那就每一帧跑了10m,一秒跑了50m。
原速度*DeltaSeconds含义就是每帧的速度
所以通过每帧事件来改变current值是这样操作的。
这里还缺一点,当current值等于0时,就不会继续减。
新加需求:当currenthunger到达0,会输出一次我饿了,并开始减少生命值。
添加自定义事件:GetStarving
为了当解饿时只输出一次我饿了,所以我们要添加gate节点,gate节点默认是open的,当饿了的时候就把gate给close。
然后去掉这个勾
设置完currenthunger以后, 判断currenthunger小于等于0,true就激活我饿了这个事件,并关上gate。为了同一步骤干两件事,我们添加sequence节点。
此时还缺一个逻辑,当currenthunger大于0的时候,会将gate再打开。
此时添加sequnce节点,同时运行分支与将gate打开。
整理一下蓝图节点,好看一点。