Unity事例ノート

UNITY

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

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

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

CancelInvokeを使った停止処理

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

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

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

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

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

BallDrop.csを記述します。

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

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

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

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

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

この記事の監修・専門指導

枚方市のプログラミング専門スクール
フタバゼミ 枚方くずは校

この記事で解説したUnityやC#の技術も、当校では直接個別指導しています。「むずかしいことをおもしろく」をモットーに、初心者から本格開発までサポート。樟葉駅から徒歩1分、まずはお気軽に体験会へお越しください。

SCHOOL教室案内