【Unity】2Dシューティングを作る ~画面外の削除対応~

Unityで画面外オブジェクトの対応 unity

プレイするゲームがないなら、自分で作ればいいじゃない!

ということで Unity 初心者が「ゲームを作る」ゲームをやっていきます!

今回は「画面外オブジェクトの削除対応」の記事です

 

スポンサーリンク

内容

画面外にあるオブジェクトを削除するオブジェクトを作成する

 

オブジェクトが増えてきた

これまでは一定距離まで離れたり、フレームで消していたりしたが

アイテムや敵の弾など、色々オブジェクトが増えてきて

毎回削除処理を作るのが面倒になってきた…

 

ということで

勝手に消えてくれるようなものを作ることにしました!

 

削除用オブジェクトの作成

どう作るか考えましたが

一番手軽そうなオブジェクトにコライダーを追加する形に!

削除用オブジェクトのサンプル(ヒエラルキービュー)
ヒエラルキービュー
削除用オブジェクトのサンプル(シーンビュー)
シーンビュー

Top,Left,Right,Bottom に「コライダー」「リジッドボディ」を追加

続いて削除用のタグを追加して設定します

最後にスクリプトを追加して完成!

public class DeadArea : MonoBehaviour
{
    void OnTriggerEnter2D(Collider2D other)
    {
        // 当たったオブジェクト全てを消す
        Destroy(other.gameObject);
    }
}

 

今回は全て消していますが、

消さないオブジェクトの判定などがあれば、適宜対応が必要です

 

これで自機、敵、自機と敵の弾、アイテムが

勝手に当たって消えてくれるようになりました!

 

さいごに

今回は全体を囲むことが出来るタイプのゲームだったので

このような形をとりました

 

囲めないタイプのゲームはもっと複雑な形になりそうですね

かれいど

ゲームをしたり、作ったり
色々な事に挑戦していきたい!

サッカー観戦も趣味で
主にJ1リーグを観ています。

かれいどをフォローする
unity
スポンサーリンク
シェアする
かれいどブログ

コメント