2016-10-28 12 views
0

私は私のスクリプトHERESに..私は作ってるんだと私は弾丸のヒットが消えるというオブジェクトを作成しようとしているこのゲームのために、このスクリプトを持っている:どうすればC#スクリプトに衝突を知らせることができますか?

void onCollisionEnter() 
{ 
    if (collision.gameObject.tag == "Enemy") 
    { 
     Destroy(collision.gameobject); 
     Destroy(gameObject); 
    } 
} 

エラーが


を語ります重大度コード説明プロジェクトファイル行抑制状態 エラーCS0103名前 'collision'は現在のコンテキストに存在しません。一人称ゲーム.CSharp C:\ Users \ desha \ Documents \ First personゲーム\ Assets \ Prefabs \ Bullet_kill.cs 20アクティブ


このエラーが2回起こるので、衝突がこのコンテキストに存在しない場合、どのように弾丸が衝突して消滅するのですか?

助けてください。

+0

OnTriggerEnterを試しましたか? – Bijan

+0

それも正しいとは言えません。 –

+0

さて、エラーが出ないようにしましたが、まだ動作しません。問題はわかりません。 –

答えて

3

機能の入力が欠落しているようです。ここでは、この1のために、このライン

void onCollisionEnter() 

を変更 :

void OnCollisionEnter(Collision collision) 

を私が助けた期待しています。あなたはは(collision.gameObject)破壊する必要があります方法によっており、 if文の「衝突」を呼び出して、その後、再び(collision.gameobject)を破壊しているので:)

エラーが2回表示されます。

+0

ありがとうございました!まだエラーがないので困っていますが、まだボックスが消えていません –

+0

私は助けたいと思っていますが、もっと情報が必要でしょうか、GameObjectのインスペクタパネルのSSを(両方とも)投稿してください。多分私はあなたを助けることができます。 Colliderはトリッキーになることがあります。トリガーを使用する方が良い場合もあります。 –

関連する問題