Jump to content
UnitySpain

Search the Community

Showing results for tags 'bullet'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Inicio
    • Proyectos
    • Offtopic
    • Unity Feeds
    • Website
  • Mesa de ayuda
    • Unity
    • Arte
    • Otras Especialidades
    • Builds & Dispositivos
  • Aportes de la Comunidad
    • Recursos
    • Eventos
    • Buenas Prácticas
  • Bolsa de trabajo & Colaboraciones
    • Ofertas y Demandas
  • Post Antiguos
    • General (Antiguo)

Blogs

  • byGui

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Especialidad

Found 1 result

  1. Buenos días. Les escribo como último recurso tras haberme devanado los sesos durante unos meses. Por motivos laborales no dedico todo el tiempo que me gustaría a Unity, pero les aseguro que llevo ya mucho tiempo con este problema y no doy con la tecla. Resulta que cuando inicio el juego todo va perfecto con la bala; se instancia a la perfección y no da problemas. Pero cuando el player muere y reaparece en el punto de control asignado, al pulsar disparo para instanciar la bala, ésta se queda en el punto donde es instanciada, esto es, que no tiene velocidad, y me aparece el consabido error "NullReferenceException: Objet Refence not set to an instance or an object". A priori puede parecer que el Player pierde su tag "Player"; en cierto modo es así, pues durante su muerte pasa a "untagged" para evitar que los enemigos sigan interaccionando con él, pero una vez realiza el respawn, vuelve a tener su tag "Player". Espero que alguien pueda arrojar algo de luz al asunto, y gracias de antemano. public class BulletManager : MonoBehaviour { public float speed; public float lifeTime; Rigidbody2D rb; public int damageValue = 1; PlayerController player; public GameObject impactPrefab; private void Awake() { rb = GetComponent<Rigidbody2D>(); player = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerController>(); if (player.faceRight && !player.verticalLook) //Esta el la línea que me //marca el error { rb.velocity = new Vector2(speed, rb.velocity.y); } else if (!player.faceRight && !player.verticalLook) { rb.velocity = new Vector2(-speed, rb.velocity.y); Vector3 bulletScale = transform.localScale; bulletScale.x *= -1; transform.localScale = bulletScale; } else if (player.faceRight && player.verticalLook || !player.faceRight && player.verticalLook) { rb.velocity = new Vector2(rb.velocity.x, speed); transform.Rotate(new Vector3(0f, 0f, 90f)); } Destroy(gameObject, lifeTime); } private void OnTriggerEnter2D(Collider2D col) { Instantiate(impactPrefab, transform.position, Quaternion.identity); Destroy(gameObject); } }
×
×
  • Create New...