Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Problema añadiendo enemigos OnTriggerEnter

Iniciado por Blancafort5, Junio 17, 2015, 04:02:49 PM

Tema anterior - Siguiente tema
Junio 17, 2015, 04:02:49 PM Ultima modificación: Mayo 30, 2016, 05:18:19 AM por pioj
Buenas! 
 
 
 
He creado la clase "Unit" (Todas las unidades del juego seran Units) y estoy intentando que cuando una unidad entre en el trigger de otra compruebe por .tag si es enemigo, y si lo es que lo añada a una list de Units.
 
 
 
esto es lo que tengo hecho:
 

public class Unit : MonoBehaviour {
// (...)
       void OnTriggerEnter (Unit other) {
                 if (other.tag != this.tag  && !enemies.Contains(other)) {
                 enemies.Add (other);
            }
       }

 
 
 
 
 
Este es el error:

   
   
      
              Script error: OnTriggerEnter
      
      
         
                 This message parameter has to be of type: Collider
         
         
                 The message will be ignored.
         
      
      
          
      
   
[/quote]

    


   A ver si alguien me puede echar una mano! 

Ontrrigerenter no puede ser de tipo Unit a de ser de tipo Collider

Junio 17, 2015, 04:49:40 PM #2 Ultima modificación: Mayo 30, 2016, 05:16:56 AM por pioj



   
      
         
            Ontrrigerenter no puede ser de tipo Unit a de ser de tipo Collider
         
      
   

[/quote]
 
 
 
Gracias no lo sabia!
 
 
 
lo he hecho como dices pero me da estos errores:
 



   
       
   
   
      -Argument `#1' cannot convert `UnityEngine.Collider' expression to type `Unit'
   
   
      -The best overloaded method match for `System.Collections.Generic.List<Unit>.Contains(Unit)' has some invalid arguments
   
   
       
   

[/quote]
 
 
 
Asi que supongo que la lista de enemigos no puede ser de "Units" no?

Buenas:
 
si nos basamos en que unit es un script a la hora de añadirlo seria algo como  enemies.Add (other.gameObject.getComponent<Unit>());   aunque no te lo garantizo que lo e escrito de cabeza y puede haber algun error xD

Gracias shinokaze! esa era la solucion ^^

Etiquetas: