Jump to content
UnitySpain

Search the Community

Showing results for tags 'respawn'.



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 2 results

  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); } }
  2. este script hace que el Player (a parte de muchas cosas) al morir, se renicia todo el nivel, cada cosa vuelve a su sitio, los enemigos, los items todo al comenzar, lo que quiero es que el Player cuando muera, solo respawn en un sitio, y el nivel no se renicie, los enemigos que ha matado ya no estan, los item cogidos tampoco estan, que no haga restart el nivel, solo Respawn after die el Player os dejo el Script abajo, y lo siento no se como se puede poner como el editor. https://hastebin.com/fatalaqaxe.cs
×
×
  • Create New...