[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延迟时间之后的某一帧)去执行。