コンテンツへスキップ →

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

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

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

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);

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

[sc name=”ios”][sc name=”engeneer”]

SHARE

無料メルマガ<特典付き>

個人開発・ビジネスについての有益な情報を無料メルマガでお届けします。

特典:個人開発の教科書<心得編>
これまでの個人開発経験を秘伝のタレ的な内容としてエッセンスをまとめました。35ページにわたる大ボリュームです。

個人開発のスキルアップにMENTA

MENTAはいろんなプロに相談できるNo1メンターサービスです。

僕自身もプロダクトの壁打ち・相談にのっています。個人開発でもコードレビュー、セキュリティ面のチェック、デザイン、広告、コンテンツマーケ、SNS集客について相談する、など使えます。

YouTubeでも個人開発ノウハウを発信中!

PROFILE

入江 慎吾
あらゆるスキルが学べるパーソナルメンターサービスMENTAの代表/個人開発が好きでこれまでに30個ほどのWEBサービスやアプリを作ってきました/福岡のWEB制作会社勤務→フリーランスエンジニア→法人立ち上げ→M&A億単位の売却を経験。 (詳しいプロフィール)

カテゴリー: HACK