Noticias

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

Colisiones no detectadas

Iniciado por Rouless, Julio 23, 2015, 10:12:27 PM

Tema anterior - Siguiente tema
Muy buenas, esta es la ultima vez que os molestaré durante una larga temporada, prometido!Os explico, tengo un bloque que se supone que con un disparo se rompe (los disparos son piruletas).Para ello le he atado este script al bloque:

public Collider2D piruleta;


// Update is called once per frame
void OnCollisionEnter2D (Collision2D piruleta) {
   if (piruleta.gameObject.tag == "Piruleta") {
      Destroy (this.gameObject);
   }
}
}
El tag en el prefab piruleta está bien puesto y todo, pero no entiendo porque el bloque no se rompe..... Otra cosilla es que para tirar la piruleta lo tengo de este modo:
   if (estado == 2) {
      //Estado con piruleta
      if (Input.GetButtonDown ("Fire1")) {
         Instantiate (piruleta, transform.position, Quaternion.identity);
      }
y la piruleta lleva este script:
   void FixedUpdate () {
this.transform.Translate (piru);
   }

//   void OnCollisionEnter2D (Collision2D coll) {
//      if (coll.gameObject.tag != "Player") {
//         Destroy (gameObject);
//      }
//   }
}
EL caso es que no se que cojones pasa, que lanza la piruleta, pero tambien mueve de una unidad el personaje, sabriais a que es debido?Muchas gracias por vuestra atención.

Pon un Debug.Log en la colisión (script del bloque) para saber si la colisión se produce, asegúrate de tener un collider 2D en el objeto piruleta. Lo del movimiento ni idea, si no da ningún error yo empezaría a desactivar componentes a ver cuál me genera el error...

la razón que mueve al personaje al disparar, es por que estas instanciando exactamente en la posición de tu personaje, tons si tu personaje tiene un colliders y tambien los disparos, pues colisionan y por la mismo efecto de la colisión  hace que lo empuje, es lo que yo supongo que es lo que pasa  , jaja intenta poner un gameobject dentro de tu personaje y alejalo poco, y usa ese nuevo gameobject para usarlo para la posición al momento de crear; igual un poco mas de info seria utilsaludos. 

Oh gracias ACarranza, como no se me ha podido ocurrir :S ....El problema de que avance el personaje al disparar está solucionado, pero el problema de la deteccion de colisiones nope :/ he utilizado un debug.log a principio del collisionenter y en la consola no aparece nada de nada, y mira que los dos gameobjects tienen collider y las variables estan bien asignadas :/

Etiquetas: