UE4 C++使用Timer實現Delay功能


今天用到了延時功能,實現藍圖中的Delay功能,總所周知,藍圖里面很簡單,可以直接用,設置一個以秒為單位的時間就可以了,而且是異步的,這點很重要。
一開始走了彎道,使用Sleep函數實現,如下圖所示:
但是運行之后發現,Sleep是整個進程停止,而不能達到進程正常運行,但是某幾步操作延后執行的目的,所以這個方法Pass掉!
 
然后,我嘗試着使用Timer來實現Delay功能,完美的達到了我想要的效果,下面分享下用法:
首先,在頭文件定義一個FTimerHandle句柄,用來標識該定時器,用於延時之后的刪除操作:
聲明Timer句柄
其次,聲明並實現一個函數,將延時后要執行的操作放到該函數中執行;
設置Timer,0.1s后執行Delay函數
再次, 在需要執行延時操作的地方將上面聲明的句柄設置進去,並指定第二步聲明的函數,延時時間等;
計時結束后,在Delay中清除計時器
 
好了,很簡單吧,三步輕松實現異步Delay功能,接下來看你的了!
 
知乎地址:https://zhuanlan.zhihu.com/p/424230159


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM