游戏中如果有这样的机制:
- 击杀敌人后概率增加生命值
- 击杀敌人后概率增加攻击力
- 攻击敌人时概率增加防御力
- 死亡时概率增加基础属性
如果这些属性在事件发生时就实时发放给对应单位,可以使得每一点属性得到实时更新。
但如果像这样的情况发生得相当频繁,就有可能在游戏后期、单位数量繁多的情况下,造成程序的运算压力。
我们可以使用延迟发生的机制,在事件发生时,不立即发放属性,而是将属性的变化记录下来,在特定时间一次性发放。
此时所有的属性变化会在短时间内瞬间完成,减少大量不必要的运算。
伪代码如下:
1 | function on_event(e, p) |