2

これは 2D ゲーム用です。

トリガー発射体を発射できるプレーヤー(トリガーコライダー付き)と同じことができる敵がいます。プレイヤーの発射物が敵と衝突すると、何かが起こり、その逆も同様です。ただし、プレイヤーの発射物と敵の発射物が衝突すると、衝突は無視され、互いに通り抜け、何も起こりません。また、継続的な衝突検出を備えた Rigidbody2D もあります。

トリガーコライダーを持つこれら2つのゲームオブジェクトが接触したときに何かが起こるようにする方法はありますか?

Enemy の発射物スクリプトについては、次のように記述します。

void OnTriggerEnter2D( Collider2D other ){
    if (other.gameObject.name == "Ground"){ 
        Destroy (gameObject);
    } 
    else if (other.gameObject.name == "Player"){
        other.gameObject.GetComponent<RControlScript>().RHealth = other.gameObject.GetComponent<RControlScript>().RHealth - damage;
        Instantiate(transformInto, gameObject.transform.position, gameObject.transform.rotation);
        Destroy (gameObject);
    } 
    else if(other.gameObject.name == "Shot"){
        Destroy (gameObject);
    }
}

「Shot」は、敵の発射体と衝突しないゲーム オブジェクトであるプレイヤーの発射体の名前です。

4

2 に答える 2

3

はい。

これは、Unity3d で何が衝突するかを示すグラフです。

ここに画像の説明を入力

于 2014-11-19T06:24:26.487 に答える
0

OK、2 つのトリガー コライダーが実際に衝突することがわかりました。私の問題は、インスタンス化された発射体がクローンであるため、その名前が「Shot(clone)」であることです。物事を実現するために、それを変えなければなりませんでした。

于 2014-11-20T07:29:12.710 に答える