2023/09/22_2_UE5.3_問題:Invalidateで止めたタイマーはFalseになっているがループが止まらない

前のコード

// タイマーを設定して一定間隔でUpdateProgressBarを呼び出します。

GetWorld()->GetTimerManager().SetTimer(ProgressBarUpdateTimerHandle, TimerCallback, TimerInterval, true);


// ロードが完了したらタイマーを停止

ProgressBarUpdateTimerHandle.Invalidate();

解決

上記のInvalidateを使ったコードを下記のコードに変えたら繰り返されなくなった。

 

// タイマーを停止およびクリアする

GetWorld()->GetTimerManager().ClearTimer(ProgressBarUpdateTimerHandle);

 

参考

Common Snippets In C++

https://unrealcommunity.wiki/common-snippets-in-cpp-ui4jhevx