2011年8月17日水曜日

Unityでオブジェクトを破棄する方法

Unityを触ってちょっとずつ理解したこと11

ゲーム中に動的にオブジェクトを増減する方法(例:キャラクターがミサイルを発射するとミサイルが表示されて何かに当たると消える)

function OnCollisionEnter(collision : Collision) {

var contact : ContactPoint = collision.contacts[0];

var thisExplosion : GameObject = Instantiate (explosion, contact.point + (contact.normal * 5.0) , Quaternion.identity);

if (collision.gameObject.tag == "enemy")
{
Destroy (collision.gameObject);
}

Destroy (thisExplosion, 2.0);
Destroy (gameObject); }
function OnCollisionEnter(collision : Collision)はオブジェクトが何かと接触したと判定されたと気に呼び出されるメソッド。

var contact : ContactPoint = collision.contacts[0];は衝突した座標。

var thisExplosion : GameObject = Instantiate (explosion, contact.point + (contact.normal * 5.0) , Quaternion.identity);で衝突地点に爆発オブジェクトのクローンを生成。

Destroy (collision.gameObject);で衝突相手のオブジェクトを破棄。
Destroy (gameObject);でこのスクリプト呼び出しているミサイルオブジェクトを破棄。
Destroy (thisExplosion, 2.0);で爆発オブジェクトも2秒後に破棄。



0 件のコメント:

コメントを投稿