[UE4]Delay与Retriggerable Delay

一、Delay

  在右上角都有一个表盘的图标,表示不是在当帧内执行,而是需要一定时间才能完成的。

  

  鼠标移上去,会有一段文字注释。根据指定的延迟时间执行一个延后的动作。当计时还没有结束的时候,如果再次被调用的话,这个调用会被忽略,计时不会被重置。

  

  如果在2秒内连续多次按下A键,屏幕上只会打印一次“A is Pressed”

二、Retriggerable Delay:可被再次被触发的Delay

  

  在右上角也有一个表盘的图标,表示不是在当帧内执行,而是需要一定时间才能完成的。当计时还没有结束的时候,如果再次被调用的话,计时会被重置,又重新开始计时。

  

  如果在2秒内再按一次B键,计时会被重置,屏幕上只会打印一次“B is Pressed”。如果一直按B键,会一直重新开始计时,直到2秒之内没有再按B键,才会在屏幕上打印“B is Pressed”,并且只是打印一次。

Delay的运行原理

  结合游戏主循环来了解一下Delay的运行原理。

    

  在处理游戏逻辑的时候,调用了一下Delay,Delay根据设定的延迟时间,游戏引擎会把Delay之后的代码逻辑,放在未来的某一帧(Delay延迟时间之后的某一帧)去执行。

  

原文地址:https://www.cnblogs.com/timy/p/10184032.html