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

 

  

posted on 2018-12-27 11:32  一粒沙  阅读(4562)  评论(0编辑  收藏  举报