Unityで複数のGameObjectを一気に削除する

2018/03/23更新 カテゴリー:ビジネスハック タグ:
  • このエントリーをはてなブックマークに追加

Unityでは一つのゲームオブジェクトを作り、そのクローンを作ることができます。例えば、ボタンを押したときにボールを発射するようなゲームの場合、ボタンを押すごとに同じボール(ゲームオブジェクト)をコピーして生成することができます。

SPONSOR

何も処理をしなければ、ボールはゲームオーバーになっても残ったままです。しかし、ゲームが終わっているのに、いつまでもボールが残っているわけにはいきませんので、ゲームオーバー時に複数のクローンを一気に削除するようにします。

var clones = GameObject.FindGameObjectsWithTag ("ball");
for (var clone in clones){
    Destroy(clone);
}

このようにFindGameObjectsWithTagでTagがballと設定されたものをclonesに配列として格納します。そして後はそれを取り出してDestroyで削除することができます。

ちなみに一気に削除せずに、下のようにボールがつくられた時に数秒後に自動的に消えるようにすることもできます。

yield new WaitForSeconds(3.0);
Destroy(ball.gameObject);

ボールを生成したタイミングで◯秒後に削除するように設定しておけます。

iPhoneアプリ開発のTips一覧はこちら

効率のいいiOSプログラミング習得法

独学でプログラミングをはじめてもう16年。
なかなか勉強が進まない人のために記事を書きました。

フリーランスエンジニアの稼ぎ方

  • このエントリーをはてなブックマークに追加
SPONSOR

PROFILE

プロフィール

入江 慎吾
受託開発で年3,000万以上を売り上げるも、受託をやめることを決意 / 自分のサービスで生きていくために挑戦中🔥現在プロダクトの売上は月40万円 / 個人開発コミュニティ「入江開発室」を運営(約300名) / MENTAなど20個以上のプロダクトを開発。
(詳しいプロフィール)

PRODUCT

イリテクで開発したプロダクト

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす