プレイするゲームがないなら、自分で作ればいいじゃない!
ということで Unity 初心者が「ゲームを作る」ゲームをやっていきます!
今回は「画面外オブジェクトの削除対応」の記事です
内容
画面外にあるオブジェクトを削除するオブジェクトを作成する
オブジェクトが増えてきた
これまでは一定距離まで離れたり、フレームで消していたりしたが
アイテムや敵の弾など、色々オブジェクトが増えてきて
毎回削除処理を作るのが面倒になってきた…
ということで
勝手に消えてくれるようなものを作ることにしました!
削除用オブジェクトの作成
どう作るか考えましたが
一番手軽そうなオブジェクトにコライダーを追加する形に!
Top,Left,Right,Bottom に「コライダー」と「リジッドボディ」を追加
最後にスクリプトを追加して完成!
public class DeadArea : MonoBehaviour
{
void OnTriggerEnter2D(Collider2D other)
{
// 当たったオブジェクト全てを消す
Destroy(other.gameObject);
}
}
今回は全て消していますが、
消さないオブジェクトの判定などがあれば、適宜対応が必要です
これで自機、敵、自機と敵の弾、アイテムが
勝手に当たって消えてくれるようになりました!
さいごに
今回は全体を囲むことが出来るタイプのゲームだったので
このような形をとりました
囲めないタイプのゲームはもっと複雑な形になりそうですね
コメント