HPが変わっていないか、プレイヤーが近くにいないか。Event Tickへつなぐと毎フレーム確認できますが、本当にそこまで細かく調べる必要があるでしょうか。
HPの表示なら、HPが変わったとき。一定間隔の見回りなら、0.5秒ごと。処理を動かすきっかけを選ぶと、何のために実行しているのかが分かりやすくなり、不要な繰り返しも減らせます。
この記事では、Tick・Timer・イベントの使い分け を整理します。実践では、プレイヤーが近づいた間だけ見張り塔の腕が回り、離れると止まる仕組みを作ります。
他のエンジンでいうと: Tick は Unity の
Update()、Godot の_process(delta)です。Timer は Unity のInvokeやコルーチン、Godot のTimerノードが近い役割になります。
この記事でわかること
- 毎フレーム・一定間隔・出来事で、処理を分ける考え方
- Set Timer by Eventの作成と、Timer Handleを使った停止
- Overlapで「近くにいる間だけ動く」を作る方法
- Tickを残す場面と、回数だけでは性能を判断できない理由
Event Tickは、毎フレームの更新に使う
フレーム は、ゲームが状態を更新し、画面を描くときの1回分です。60FPSなら、1秒間におよそ60フレーム進みます。
Event Tickは、ActorのTickが有効で、Tick Intervalが0なら毎フレーム呼ばれます。たとえば60FPSで100体すべてがTick内の処理を実行すると、合計は 60 × 100 = 6000回/秒 です。
この数だけで「重い」とは決まりません。足し算1回と、周囲のActorを大量に探す処理では、1回の負担が違います。見るべきなのは 1回の処理内容、繰り返す頻度、実行するActor数 の組み合わせです。
