イベント関数
コルーチン

ゲームオブジェクトの作成および削除

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

シーンでオブジェクトを一定数にすることもありますが,キャラクター,アイテム,および他のオブジェクトをゲーム中に作成および削除することは頻繁にあります。Unity ではゲームオブジェクトの作成に Instantiate 関数を使用して既存オブジェクトを複製します:

public GameObject enemy;

void Start() {
    for (int i = 0; i < 5; i++) {
        Instantiate(enemy);
    }
}

複製するオブジェクトはシーンにすでにあるものに限られます。エディター上ではプロジェクト パネルのパブリック変数にプレハブをドラッグする方法も頻繁に使用されます。さらにゲームオブジェクトをインスタンス化すると元のコンポーネント全てを複製します。

さらに Destroy 関数を使用してオブジェクトを削除します。フレーム更新の完了後かオプションで一定時間後に遅れて削除するか選べます:

void OnCollisionEnter(otherObj: Collision) {
    if (otherObj == "Missile") {
        Destroy(gameObject,.5f);
    }
}

Destroy 関数によりゲームオブジェクトそのものに影響を与えずに個別コンポーネントを削除できることに留意して下さい。よくある間違いは次のように記述することです:

 Destroy(this);

…実際には呼び出し元のスクリプト コンポーネントが削除され,スクリプトがアタッチされているゲームオブジェクトが削除されます。

イベント関数
コルーチン