私のゲームでは、弾丸を噴射する銃があり、弾丸と衝突してgameObjectを破壊しようとしています。弾丸は、1つのgameObject(Capsule)に基づいています。私はこれまでのところ、これらの2つのスクリプトを試してみた:弾丸で撮影したときにオブジェクトが破壊されない - UNITY3D C#
using UnityEngine;
using System.Collections;
public class whenshot : MonoBehaviour {
void OnCollisionEnter(Collision col)
{
if (col.gameObject.name == "Bullet")
{
Destroy(col.gameObject);
}
}
}
と:
using UnityEngine;
using System.Collections;
public class whenshot : MonoBehaviour {
void OnCollisionEnter(Collision col)
{
if (col.gameObject.name == "Bullet")
{
Destroy(this); //the difference between the two is that I changed "col.gameObject" to "this"
}
}
}
私は被写体を撮影していますが、それは自分自身を破壊/消えていません。これをどうすれば解決できますか?
元のコードが弾丸を破壊していたようですが、弾丸が破壊されたとは限りません。 –
次のコード行を関数の先頭に追加し、 'Debug.Log(" name: "+ col.gameObject.name);'、 'Debug 'を再試行したときにログに表示される内容を教えてください。ログメッセージが表示されない場合は、Log( "matches:" +(col.gameObject.name == "Bullet")。ToString()); –
@SCottChamberlainログがコンソールの下にある場合、ログメッセージは表示されませんでした。 –