Noticias

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

Problema con los tags?

Iniciado por liliput1994, Noviembre 07, 2015, 05:10:15 AM

Tema anterior - Siguiente tema
Noviembre 07, 2015, 05:10:15 AM Ultima modificación: Junio 05, 2016, 04:48:21 PM por pioj
Hola amigos,
 
Acabo de empezar con la programación y tengo un problema muy básico, pero no consigo solucionarlo.
 
Mi idea es que cuando el "Player" colisione contra un cubo el cubo le transporte a una nueva escena. Y cuando colisione el "Enemy" el cubo se destruya.
 
No no tengo problemas con las funciones Application.LoadLevel o  Destroy por separado. Pero a la hora de poner un tag no consigo buenos resultados. O ignora las funciones o las ejecuta con cualquier Gameobject.
 
Tengo los correspondientes tags bien asignados.
 
Que estoy haciendo mal?
 
Seguro que es una tontería de principiante, pero me estoy volviendo loco!
 



   
      
   
      function OnTriggerEnter  {   
   
   
       if(other.gameObject.tag == "Player")
       Application.LoadLevel("Mapa 2");
       
       if(other.gameObject.tag == "Enemy")
       Destroy(this.gameObject);}
   
   
        
      }
   
   
       
   

[/quote]
 
 

Noviembre 07, 2015, 05:56:24 AM #1 Ultima modificación: Junio 05, 2016, 04:48:08 PM por pioj
bueno no tengo mucho conocimiento en Jscript pero creo que te falta
 



   
      function OnTriggerEnter(other: Collider)
   

[/quote]
 
 

[quote author=Oaken3d" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="34378" data-ipsquote-contentcommentid="123196">bueno no tengo mucho conocimiento en Jscript pero creo que te falta
function OnTriggerEnter(other: http://docs.unity3d.com/ScriptReference/Collider2D.html">Collider)
[/quote]Cierto, cando te atasques lo mejor es revisar la api.http://docs.unity3d.com/ScriptReference/MonoBehaviour.OnTriggerEnter.html" rel="external nofollow date=1446872184]http://docs.unity3d.com/ScriptReference/MonoBehaviour.OnTriggerEnter.html

Noviembre 07, 2015, 01:25:49 PM #3 Ultima modificación: Junio 05, 2016, 04:47:55 PM por pioj
Ya lo he probado también con
 



   
       
   
   

function OnTriggerEnter(other: Collider)

   
       
   

[/quote]
 
tampoco funciona. 

Asegúrate de que alguno de los dos objetos que colisiona tenga el componente Rigidbody. Tambien que ambos objetos tengan collider y que uno de ellos tenga la casilla isTrigger marcada.Saludos.

Ya me he asegurado, es un juego de coches.El cubo tiene Box Collider con el Trigger activado.Y los coches (Tanto el Player como el Enemy) tienen riggidbody y box collider.

Pues te queda revisar si están en layers que no ignoren colisiones entre sí. Y por supuesto las coordenadas de ambos si realmente están juntos y no es una falsa apariencia de la ventana game. Revisa en escena mode.
 
Enviado desde mi iPhone utilizando Tapatalk

Ya he descubierto de donde proviene mi problema. El objeto que colisiona debe tener el rigidbody y el collider, y no sus "childrens"El coche tiene rigidbody pero el "Box Collider" era un cubo dentro del coche. En el momento en que pongo "Box Collider" en el objeto en sí del coche el coche no se mueve. He probado de crear una box con los dos componentes pero al tener rigidbody colisiona con el coche y sale disparada.He probado con Mesh collider y otros y el coche se mueve pero no funciona.Alguna idea de cómo solucionarlo? Socorro! 


Para ajusta las colisiones(ignorar o detectar) entre GameObjects se utiliza el Layer, y no el Tag. Echale un vistazo a la documentación: http://docs.unity3d.com/es/current/Manual/LayerBasedCollision.html

Etiquetas: