void OnCollisionEnter(Collision coll) { GameObject other = coll.gameObject; if (other.tag == "ProjectileHero") { Disparo proj = other.GetComponent <Disparo>(); foreach (Material m in materials) { m.color = Color.red; } hurt = true; hp -= Main.W_DEFS[proj.getType()].damageOnHit; if (hp <= 0) { if (!generandoPU) { generaPowerUp(); } Destroy(this.gameObject); } Destroy(other); } }
public Disparo disparador; //Para activar o desactivar el disparo // Use this for initialization void Awake() { anim = GetComponent <Animator>(); rb2d = GetComponent <Rigidbody2D>(); Bdash = true; disparador = disparador.GetComponent <Disparo>(); }
IEnumerator AutoDestruirDisparo(Disparo disparo, float t) { disparo.onTriggerEnter += (col) => {//on hit if (!disparo) { return; } var atacable = col.GetComponent <Atacable>(); if (atacable) { if (equipo == atacable.equipo) { return; } atacable.RecibirAtaque(daño); } var vfx = Instantiate(vfxPrefab, disparo.transform.position, Quaternion.Euler(0f, 180f, 0f) * disparo.transform.rotation); // vfx.ColorFade(fadeFrom: false); Destroy(vfx.gameObject, vfx.fadeTimeDefault); Mirror.NetworkServer.Spawn(vfx.gameObject); Destroy(disparo.gameObject); }; yield return(new WaitForSeconds(t)); if (disparo) { Destroy(disparo.gameObject); } }
// Start is called before the first frame update void Start() { if (disparo == null) { disparo = GetComponent <Disparo>(); } }
private void disparoEnemigo() { //Generar aleatorio para disparo Random random = new Random(); int numeroGenerado = 0; NaveEnemiga naveEnemiga = new NaveEnemiga(); //Conseguir la posicion de la nave que va a disparar do { numeroGenerado = random.Next(0, 59); } while (listaEnemigos.ElementAt(numeroGenerado).puedeDisparar == false); naveEnemiga = listaEnemigos.ElementAt(numeroGenerado); Disparo disparo = new Disparo(naveEnemiga.posY + 37, naveEnemiga.posX + 19, 5, 10, new Uri("ms-appx:///Assets/Images/MisilEnemigoPro.png")); Image playerBullet = new Image(); playerBullet.Source = new BitmapImage(disparo.imagen); playerBullet.Height = 20; playerBullet.Width = 10; Canvas.SetTop(playerBullet, disparo.dirY); Canvas.SetLeft(playerBullet, disparo.dirX); this.canvas.Children.Add(playerBullet); moveBulletEnemigo(disparo.velocidad, playerBullet); }
//6.COLISIÓN CON LA BALA public void OnTriggerEnter2D(Collider2D other) { Disparo compDisparo = other.GetComponent <Disparo>(); if (compDisparo != null && compDisparo.TipoDeBala == Disparo.TipoBala.BalaJugador) { vida--; GetComponent <AudioSource>().PlayOneShot(daño); Destroy(other.gameObject); //Muere if (vida < 1) { animacion.SetBool("Muere", true); muere = true; Invoke("Muere", 0.5f); } //Knockback else { Rigidbody2D rigid = GetComponent <Rigidbody2D>(); if (other.transform.position.x > transform.position.x) { rigid.AddForce(new Vector2(-150f, 100f)); } else { rigid.AddForce(new Vector2(150f, 100f)); } } } }
void Update() { if (Input.GetKeyDown(KeyCode.Space)) { Instantiate(bala, spawn.transform.position, spawn.rotation); Disparo disparo = bala.GetComponent <Disparo>(); //accedemos al script DisparoNave disparo.disparar = false; //y ponemos la variable "disparar" en false para que la bala salga con la fuerza necesaria descrita } }
//aca llego cuando un zombie colisiona con un disparo public bool esZombie(RigidBody body, Disparo disparo) { Zombie zombieGolpeado = zombies.Find(z => z.body == body); if (zombieGolpeado != null) { zombieGolpeado.teGolpearon(disparo); } return(zombieGolpeado != null); }
public void OnTriggerEnter2D(Collider2D other) { Disparo compDisparo = other.GetComponent <Disparo>(); if (compDisparo != null && compDisparo.TipoDeBala == Disparo.TipoBala.BalaJugador && vulnerable == true) { vidas--; GameManager.instance.BossHerido(vidas); Destroy(other.gameObject); } }
// Use this for initialization void Awake() { anim = GetComponent <Animator>(); rb2d = GetComponent <Rigidbody2D>(); Bdash = true; disparador = disparador.GetComponent <Disparo>(); offSet = brazo.GetComponent <ArmRotation>(); apareceVestido = false; gravedad = -3; Physics.gravity = new Vector2(0, gravedad); }
IEnumerator EjecutarDisparo(Disparo disparo) { for (int i = 0; i < 49; i++) { yield return(new WaitForSeconds(0.1f)); disparo.Desplazar(); Debug.Log(string.Format("index: {0}", i)); } disparo.Finalizar(); }
void OnTriggerEnter(Collider other) { if (other.gameObject.tag == "Player") { ParticleSystem nuevoDestello = Instantiate(particulasDestello); nuevoDestello.transform.position = this.transform.position; Disparo disparo = other.gameObject.GetComponent <Disparo> (); disparo.ActivarMunicionPesada(); Destroy(this.gameObject); } }
private void disparar() { if (this.player.Opacity != 0) { Disparo disparo = new Disparo(vMGame.posYMisil, vMGame.player.posicionX, 20, 10, new Uri("ms-appx:///Assets/Images/MisilPro.png")); Image playerBullet = new Image(); playerBullet.Source = new BitmapImage(disparo.imagen); playerBullet.Height = 20; playerBullet.Width = 10; Canvas.SetTop(playerBullet, Canvas.GetTop(this.player)); Canvas.SetLeft(playerBullet, Canvas.GetLeft(this.player) + 35); this.canvas.Children.Add(playerBullet); moveBullet(disparo.velocidad, playerBullet); reproducirAudioAsync("disparo.wav"); } }
//7.COLISIÓN CON LA BALA public void OnTriggerEnter2D(Collider2D other) { Disparo compDisparo = other.GetComponent <Disparo>(); if (compDisparo != null && compDisparo.TipoDeBala == Disparo.TipoBala.BalaJugador) { vida--; GetComponent <AudioSource>().PlayOneShot(daño); Destroy(other.gameObject); if (vida < 1) { animacion.SetBool("Muere", true); muere = true; Destroy(Pistola.gameObject); Invoke("Muere", 0.45f); } } }
//private List<GameObject[]> ObtenerLstGoDisparo() //{ // try // { // if (this.lstGoDisparo == null) // { // this.lstGoDisparo = new List<GameObject[]>(); // } // } // catch (System.Exception ex) // { // Debug.Log(string.Format("Error en Nave: {0}", ex)); // throw; // } // return this.lstGoDisparo; //} private Disparo CrearDisparo(Vector3 posicion) { //bool res = false; Disparo disparo = null; try { disparo = new Disparo(posicion); //this.lstDisparo.Add(disparo); } catch (System.Exception ex) { Debug.Log(string.Format("Error en Nave: {0}", ex)); throw; } return(disparo); }
void OnTriggerEnter2D(Collider2D other) { zonaadestruir = GameObject.FindWithTag("Muro"); prueba = this.GetComponent <Rigidbody2D> (); Disparo compDisparo = other.GetComponent <Disparo>(); bool explota = Physics2D.OverlapCircle(tocazonacorrecta.position, radio, capadestruye); if (compDisparo != null && compDisparo.TipoDeBala == Disparo.TipoBala.BalaJugador) { Sonido.PlayOneShot(explosion); BoxCollider2D coll = GetComponent <BoxCollider2D> (); coll.enabled = false; prueba.isKinematic = true; animacion.SetBool("alcanzado", true); Invoke("destruyete", 1.15f); if (explota) { Invoke("destruyezona", 0.7f); } } }
public bool Disparar(Vector3 posicion) { bool res = false; Disparo tempDisparo = null; try { tempDisparo = this.CrearDisparo(posicion); //this.lstDisparos.Add(tempDisparo); StartCoroutine("EjecutarDisparo", tempDisparo); res = true; } catch (System.Exception ex) { Debug.Log(string.Format("Error en Nave - Disparar: {0}", ex)); throw; } return(res); }
void OnTriggerEnter(Collider other) { if (other.gameObject.tag == "Player") { ParticleSystem nuevoDestello = Instantiate(particulasDestello); nuevoDestello.transform.position = this.transform.position; Destroy(this.gameObject); Disparo disparo = other.GetComponent <Disparo> (); switch (this.gameObject.tag) { case "Metralleta": disparo.miArma = Disparo.tipDisp.metralleta; GestorArmaUI.instancia.setUIMetralleta(); break; case "Escopeta": disparo.miArma = Disparo.tipDisp.escopeta; GestorArmaUI.instancia.setUIEscopeta(); break; case "Bazooka": disparo.miArma = Disparo.tipDisp.bazoka; GestorArmaUI.instancia.setUIBazooka(); break; } } }
void Update() { //Mover Jugador float moveAxis = Input.GetAxis(movInputAxis) * moveSpeed; float moveAxis1 = Input.GetAxis(movInputAxis1) * moveSpeed; Vector3 movement = new Vector3(moveAxis1, 0, moveAxis); Vector3 localInput = transform.TransformDirection(movement); //para coger los ejes locales controller.SimpleMove(localInput); //Saltar if (Input.GetButton("Jump")) { if (controller.isGrounded) //si el jugador está en el suelo... { moveDirection.y = fuerzaSalto; //Al eje Y le aplico la fuerza de salto } } moveDirection.y -= gravity * Time.deltaTime; //Al eje Y le aplicamos una gravedad para la caida. controller.Move(moveDirection * Time.deltaTime); //disparar if (Input.GetMouseButtonDown(0)) { Instantiate(bala, spawn.transform.position, spawn.rotation); Disparo disparo = bala.GetComponent <Disparo>(); //accedemos al script DisparoNave disparo.disparar = false; //y ponemos la variable "disparar" en false para que la bala salga con la fuerza necesaria descrita } }
//6.COLISIONES CON TRIGGERS void OnTriggerEnter2D(Collider2D other) { Disparo compBala = other.GetComponent <Disparo>(); Moneda compMoneda = other.GetComponent <Moneda> (); MovimientoCocodrilo compCoco = other.GetComponent <MovimientoCocodrilo> (); Cofre compCofre = other.GetComponent <Cofre> (); //Colisión con bala enemiga if (compBala != null && compBala.TipoDeBala == Disparo.TipoBala.BalaEnemigo) { Destroy(other.gameObject); if (tiempo > tiempoDeInmunidad) { RecibeDaño(2, other.gameObject); } } //Colisión con pociones else if (other.gameObject.tag == "Poción") { GetComponent <AudioSource>().PlayOneShot(cogepocion); GameManager.instance.GanaPoción(); Destroy(other.gameObject); } else if (other.gameObject.tag == "Finish") { GameManager.instance.FinNivel(); } else if (other.gameObject.tag == "Checkpoint") { if (GameManager.instance.NivelActual() != 3) { GameManager.instance.Checkpoint(); } else { GameManager.instance.FijaCamara(); Destroy(other.gameObject); } } else if (other.gameObject.tag == "DeadZone") { GameManager.instance.RecibeDaño(10, true); } //Colisión con monedas else if (compMoneda != null) { GameManager.instance.GanaMonedas(compMoneda.Valor); Destroy(other.gameObject); } //Colisión con cocodrilos else if (compCoco != null && tiempo > tiempoDeInmunidad) { RecibeDaño(1, other.gameObject); } //Colisión con cofres (enemigos) else if (compCofre != null && tiempo > tiempoDeInmunidad && compCofre.enemigo && compCofre.abierto) { RecibeDaño(2, other.gameObject); } else { ColisionPichos(other.gameObject); } }
// Use this for initialization private void Awake() { playerdispara = GetComponentInChildren <Disparo>(); }