Unity事例ノート

UNITY

CancelInvokeでn秒おきに実行を止める

InvokeRepeatingを使って、何秒かおきにくり返す処理を、ある条件でストップできるようにしましょう。

今回の例では、0.5秒おきに出てくるボールを、3秒経過すれば生成を止めるように、スクリプトを作成します。

CancelInvokeを使った停止処理

Sphereを作成し、リジッドボディを追加。

プロジェクトビューにドラッグ&ドロップし、プレハブ化します。

Sphereの元データは削除しておきます。

空のオブジェクトを作成。

BallDrop.csを作成し、GameObject(空のオブジェクト)に追加します。

BallDrop.csを記述します。

Ballのフィールドに、Sphereオブジェクトを入れます。

ゲームプレイしてみましょう。

0.5秒おきに落ちていくボールが、3秒後に出てこなくなります。

InvokeRepeatingを使用すれば、「スタートから何秒後に、何秒おきに実行」を設定できます。

この実行処理は、CancelInvokeによって、停止することができます。

SCHOOL教室案内