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

プロフィール

入江 慎吾/サービス開発だけで生きていく
自分のサービスだけで自由に生きる。勢いで受託開発をすべてやめて、サービスだけ作って生きていくことを決めたフリーのエンジニア。得意を教えて副業にできるMENTAを開発中! (詳しいプロフィール)
WEBサービス・アプリ開発に役立つ情報をイリテクの入江がお届けします。プログラミング、UI/UXデザイン、SNS・ブログマーケティングなど、プロダクト開発だけで自由に生きていくための実践的な情報を配信しています。

PRODUCT

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

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす