2016-08-07 10 views
0

Video-URL für ein leichteres Verständnis - http://tinypic.com/r/28jdyyq/9Schwert Kollisionserkennung mit Feind auf Mausklick

In diesem Video Sie mein Problem sehen können, wenn das Schwert den Feind berührt .. Feind zerstört wird .. Aber ich will, wenn ich per Mausklick (oder drücken), dann zerstört ..enemy nur ..

void OnTriggerEnter(Collider col) 
    { 
     if (col.GetComponent<Collider>().tag == "enemy") 
     { 
      Destroy(col.gameObject); 

     } 
    } 

Dies ist mein Code, ich habe Feind und Spieler mit Schwert (mit Collider), alles ist perfekt, ich will, wenn ich Maustaste klicken Sie dann auf nur Schwert sollte Feind töten,

Aber, Wha Es passiert, wenn ich meinen Spieler (mit dem Schwert) in die Nähe des Feindes bringe und das Schwert den Feind berührt, tötet er den Feind, ohne dass ich vom Schwert getroffen werde.

Ich versuchte den folgenden Code auch durch Hinzufügen von Mausklick-Ereignis innerhalb Trigger, aber nichts passiert. Jede Idee Bitte

void OnTriggerEnter(Collider col) 
    { 

     if (Input.GetButtonDown("Fire1")){ 

       if (col.GetComponent<Collider>().tag == "enemy"){ 

        Destroy(col.gameObject); 
       } 

     } 

    } 

Antwort

0

Sie könnten versuchen, den gleichen Code in OnTriggerStay weil OnTriggerEnter wird nur einmal aufgerufen.

void OnTriggerStay(Collider col) 
{ 
    if (Input.GetButtonDown("Fire1")){ 

     if (col.GetComponent<Collider>().tag == "enemy"){ 

      Destroy(col.gameObject); 
     } 
    } 
} 
+0

Toll, OnTriggerStay hat Magie für mich .. Danke – amulbhatia