public virtual void FireP(Vector3 LaunchPos, Quaternion forward, GameObject player = null) { if (Time.time - lastFire >= timeBetweenFire) { if (Aus) { if (!Aus.isPlaying) { Aus.clip = sound; Aus.PlayOneShot(sound); } } lastFire = Time.time; GameObject p = Instantiate(proyectil, LaunchPos, Quaternion.identity); p.transform.rotation = forward; Proyectil pp = p.GetComponent <Proyectil>(); pp.owner = tipo; if (MuzzelVFX) { var f = Instantiate(MuzzelVFX, LaunchPos, forward); Destroy(f, 0.4f); } pp.init(player); pp.Fire(); } }
void proyectil_comportamiento(GameObject proyectil) { Rigidbody2D rb = proyectil.GetComponent <Rigidbody2D>(); Proyectil scriptproyectil = proyectil.GetComponent <Proyectil>(); AudioSource au = proyectil.GetComponent <AudioSource>(); au.Play(); SpriteRenderer spritebala = proyectil.GetComponent <SpriteRenderer>(); if (rigid != null) { rb.position = rigid.position; if (!sprite.flipX) { spritebala.flipX = false; rb.velocity = new Vector2(scriptproyectil.getvelocidad(), rigid.velocity.y); } else { spritebala.flipX = true; rb.velocity = new Vector2(-scriptproyectil.getvelocidad(), rigid.velocity.y); } } }
// Update is called once per frame (FRECUENTEMENTE, 60 veces/seg) void Update() { float movHorizontal = Input.GetAxis("Horizontal"); // [-1, 1] if (movHorizontal < -0.001) { direccion = -1; } else if (movHorizontal > 0.001) { direccion = +1; } rigidbody.velocity = new Vector2(movHorizontal * maxVelocidadX, rigidbody.velocity.y); // Salto (Después lo vamos a resolver con JUMP) //float movVertical = Input.GetAxis("Vertical"); //if (movVertical > 0 && PruebaPiso.estaEnPiso) if (Input.GetButtonDown("Jump") && PruebaPiso.estaEnPiso) { rigidbody.velocity = new Vector2(rigidbody.velocity.x, maxVelocidadY); } // Dispara!!! if (Input.GetButtonDown("Fire1")) { Proyectil nuevo = Instantiate(proyectil); // Copia el proyectil y regresa un nuevo objeto nuevo.transform.position = gameObject.transform.position; nuevo.CambiarDireccion(direccion); nuevo.gameObject.SetActive(true); } }
private void disparo() { if (canFire) { GameObject player = GameObject.FindGameObjectWithTag("Hero"); attack_position = new Vector2(player.transform.position.x, player.transform.position.y); attack_direction = new Vector2((attack_position.x - transform.position.x), (attack_position.y - transform.position.y)); /*if (Mathf.Abs(attack_direction.x) >= Mathf.Abs(attack_direction.y)) * { * if (attack_direction.x >= 0) attack_direc = 2; * else * attack_direc = 4; * } * else * { * if (attack_direction.y >= 0) attack_direc = 1; * else * attack_direc = 3; * }*/ Proyectil scriptProyectil = bullet.GetComponent <Proyectil>(); scriptProyectil.speed = bullet_speed; scriptProyectil.direction = attack_direction; scriptProyectil.enemigo = true; Instantiate(bullet, transform.position, Quaternion.identity); sonido.Play(); canFire = false; } else { Cooldown(); } }
public void OnTriggerEnter2D(Collider2D col) { GameObject jugador = GameObject.FindGameObjectWithTag("Player"); ProyectilComportamiento proycomp = jugador.GetComponent <ProyectilComportamiento>(); GameObject sonidos = GameObject.Find("AdminEnemigo"); AdminEnemigos scriptadmin = sonidos.GetComponent <AdminEnemigos>(); AudioSource au = sonidos.GetComponent <AudioSource>(); if (col.tag == "Bullet") { col.transform.position = new Vector3(-1000, -1000, -6f); proycomp.agregar(col.gameObject); Proyectil proyectil = col.gameObject.GetComponent <Proyectil>(); this.vida -= proyectil.getdaño(); au.clip = scriptadmin.getAudios()[0]; au.Play(); } if (col.tag == "Uppercut") { au.clip = scriptadmin.getAudios()[1]; au.Play(); this.vida -= 80f; } }
public override void Disparar(Transform arma, Vector3 direccion, float damage) { float currentAngle = 0; Vector3 desfase = new Vector3(0, 0, 0); Vector3 currentDesfase = new Vector3(); float anguloDireccion = direccion.Angulo(); for (int i = 0; i < cantidadProyectiles; i++) { currentDesfase = desfase; currentDesfase.RotarPunto(anguloDireccion); Proyectil disparo = (Proyectil)Pooler.instance.SpawnObjeto(proyectil); disparo.SetPatron(patron); disparo.transform.position = arma.position + currentDesfase; disparo.posInicial = arma.position + currentDesfase; disparo.angulo = anguloDireccion + currentAngle; disparo.Disparar(damage, direccion); if (i % 2 == 0) { currentAngle -= angulo; desfase.y -= separacion; } // currentAngle -= i % 2 == 0 ? angulo : 0; currentAngle *= -1f; desfase *= -1; } }
public void Shoot(Vector3 direction, Vector3 startPosition, int force) { Proyectil newProyectil = Instantiate(proyectil); newProyectil.transform.position = startPosition; newProyectil.Init(direction, force); }
public override void Disparar(Transform arma, Vector3 direccion, float damage) { Vector3 desfase = new Vector3(0, separacion, 0); Proyectil disparo = (Proyectil)Pooler.instance.SpawnObjeto(proyectil); disparo.SetPatron(patron); disparo.transform.position = arma.position; disparo.posInicial = arma.position; disparo.angulo = direccion.Angulo(); disparo.setDamage(damage); disparo.Disparar(damage, direccion); Proyectil p2 = (Proyectil)Pooler.instance.SpawnObjeto(proyectil2); p2.SetPatron(patron2); p2.transform.position = arma.position + desfase; p2.posInicial = arma.position + desfase.RotarPunto(direccion.Angulo()); p2.angulo = direccion.Angulo() + angulo; disparo.setDamage(damage); p2.Disparar(damage, direccion); p2 = (Proyectil)Pooler.instance.SpawnObjeto(proyectil3); p2.SetPatron(patron3); p2.transform.position = arma.position - desfase; p2.posInicial = arma.position - desfase; p2.angulo = direccion.Angulo() - angulo; p2.Disparar(damage, direccion); }
public override void Cargar(IMovible movil) { base.Cargar(movil); Proyectil unProyectil = new Proyectil(this.PosicionDeTiro.Clonar()); unProyectil.Movimiento.Direccion = movil.Movimiento.Direccion; unProyectil.Alcance = ALCANCELANZAMIENTO; this.carga = unProyectil; }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.tag == "Bullet_Hero" && life > 0) { Proyectil scriptProyectil = collision.gameObject.GetComponent <Proyectil>(); Debug.Log("" + scriptProyectil.damage.ToString()); life -= scriptProyectil.damage; } }
public void Disparar(Vector2 velocidad) { GameObject balaInstanciada = Instantiate(bala); Proyectil b = balaInstanciada.GetComponent <Proyectil>(); b.velocidadLanzada = velocidad; b.transform.position = transform.position; b.Lanzar(sizeBala, fuerza, velocidad, RotacionCañon.angle); }
public ProyectilVista(Vector2 pos, float rot, Explosivo bomba) : base(pos) { explosivo = (Proyectil)bomba; spriteIndex = MapaVista.Instancia().ProyectilSprite; rotacion = rot; velocidad = 0.5f; vivo = true; }
IEnumerator ReUseBullet(GameObject proyectil) { Proyectil scriptproyectil = proyectil.GetComponent <Proyectil>(); yield return(new WaitForSeconds(scriptproyectil.getduracion())); proyectil.transform.position = new Vector3(-1000, -1000, -6f); agregar(proyectil); }
private void shoot() { for (int i = 0; i < 8; i++) { Proyectil scriptProyectil = bullet.GetComponent <Proyectil>(); scriptProyectil.speed = 15; Vector2 attack_direction = new Vector2(0, 0); switch (i) { case 0: attack_direction.x = 0; attack_direction.y = 1; break; case 1: attack_direction.x = 0.5f; attack_direction.y = 0.5f; break; case 2: attack_direction.x = 1; attack_direction.y = 0; break; case 3: attack_direction.x = 0.5f; attack_direction.y = -0.5f; break; case 4: attack_direction.x = 0; attack_direction.y = -1; break; case 5: attack_direction.x = -0.5f; attack_direction.y = -0.5f; break; case 6: attack_direction.x = -1; attack_direction.y = 0; break; case 7: attack_direction.x = -0.5f; attack_direction.y = 0.5f; break; } scriptProyectil.direction = attack_direction; scriptProyectil.enemigo = true; Instantiate(bullet, enemy.transform.position, Quaternion.identity); sonido.Play(); } }
public void DispararProyectil(Proyectil proyectil, float velocidadInicial, Vector2 direccion, int fuerza) { GameObject nuevoProyectil = Instantiate(proyectil.gameObject, transform.position, Quaternion.identity); Destroy(nuevoProyectil, 3f); Proyectil miProyectil = nuevoProyectil.GetComponent <Proyectil>(); miProyectil.velocidadInicial = velocidadInicial; miProyectil.direccionInicial = direccion; miProyectil.fuerza = fuerza; }
public override void Disparar(Transform arma, Vector3 direccion, float damage) { Proyectil disparo = (Proyectil)Pooler.instance.SpawnObjeto(proyectil); disparo.SetPatron(patron); disparo.transform.position = arma.position; disparo.posInicial = arma.position; disparo.angulo = direccion.Angulo(); disparo.setDamage(damage); disparo.Disparar(damage, direccion); }
void Launch() { GameObject proyectilObject = Instantiate(proyectilPrefab, rigidbody2d.position + Vector2.up * 0.5f, Quaternion.identity); Proyectil proyectil = proyectilObject.GetComponent <Proyectil>(); proyectil.Launch(lookDirection, 300); animator.SetTrigger("Launch"); audioSource.PlayOneShot(shootingSound); }
public virtual void BolaDeFuego(int inteligencia, Vector2 trayectoria, Rigidbody2D rb) { Proyectil bolaDeFuego = Instantiate(proyectil, transform.position + new Vector3(0, 0, -1), Quaternion.identity); bolaDeFuego.tagObjetivo = tagObjetivo; bolaDeFuego.daño = inteligencia; bolaDeFuego.velocidad = velocidadProyectil; bolaDeFuego.trayectoria = trayectoria; float anguloRotacion = Mathf.Atan2(trayectoria.y, trayectoria.x) * Mathf.Rad2Deg; bolaDeFuego.transform.Rotate(0, 0, anguloRotacion); rb.velocity = (-trayectoria).normalized * fuerzaRetroceso; }
public void DispararProyectil(Proyectil proyectil, float velocidadInicial, Vector2 direccion, int danio) { Proyectil nuevoProyectil = Instantiate(proyectil, transform.position, Quaternion.identity); // nuevoProyectil.gameObject.transform.SetParent(transform); nuevoProyectil.gameObject.transform.SetParent(GameManager.instance.contenedorDeProyectiles); nuevoProyectil.velocidadInicial = velocidadInicial; nuevoProyectil.direccionInicial = direccion; nuevoProyectil.danio = danio; float anguloRotacion = Mathf.Atan2(direccion.y, direccion.x) * Mathf.Rad2Deg; nuevoProyectil.transform.Rotate(0, 0, anguloRotacion); }
IEnumerator Launch(GameObject x, GameObject player) { yield return(new WaitForSeconds(Random.Range(0.2f, 0.9f))); GameObject p = Instantiate(proyectil, x.transform.position, Quaternion.identity); p.transform.rotation = x.transform.rotation; Proyectil pp = p.GetComponent <Proyectil>(); pp.owner = tipo; pp.init(player); pp.Fire(); }
public override void FireP(Vector3 LaunchPos, Quaternion forward, GameObject player = null) { if (Time.time - lastFire >= timeBetweenFire) { lastFire = Time.time; GameObject p = Instantiate(proyectil, LaunchPos, Quaternion.identity); p.transform.rotation = forward; Proyectil pp = p.GetComponent <Proyectil>(); pp.owner = tipo; pp.init(player); pp.Fire(); } }
void OnCollisionEnter2D(Collision2D col) { //si es que el enemigo ejecuta daño a Joe a este se le reducira la vida if (col.gameObject.tag == "Enemy" || col.gameObject.tag == "EnemigoVolador" && vidajoe > 0) { enemigo = col.gameObject; scriptenemigo = enemigo.GetComponent <Enemigo>(); au.clip = efectos[0]; au.Play(); anim.SetTrigger("daño"); Physics2D.IgnoreLayerCollision(0, 0); sprite.color = new Color(1f, 1f, 1f, .5f); if (sprite.flipX == false) { rigid.AddForce(new Vector2(-16f, 6f), ForceMode2D.Impulse); } else { rigid.AddForce(new Vector2(16f, 6f), ForceMode2D.Impulse); } if (scriptenemigo != null) { vidajoe -= scriptenemigo.getdaño(); } } //la barra de vida será reducida según el daño if (col.gameObject.tag == "Barrera" && vidajoe > 0) { barrera = col.gameObject; barreramuerte = barrera.GetComponent <Barrera>(); vidajoe -= barreramuerte.getdaño(); } if (col.gameObject.name == "Proyectil(Clone)") { GameObject proyectil = col.gameObject; Proyectil scriptproyectil = proyectil.GetComponent <Proyectil>(); vidajoe -= scriptproyectil.getdaño(); } if (col.gameObject.name == "Hueso") { GameObject proyectil = col.gameObject; VidaJefeFinal script = proyectil.GetComponentInParent <VidaJefeFinal>(); vidajoe -= script.getDañoHueso(); } }
void proyectil_comportamiento(GameObject proyectil) { au = proyectil.GetComponent <AudioSource>(); Rigidbody2D rb = proyectil.GetComponent <Rigidbody2D>(); Proyectil scriptproyectil = proyectil.GetComponent <Proyectil>(); if (rigid != null) { rb.position = lanzaproyectiles.transform.position; } rb.velocity = new Vector2(-scriptproyectil.getvelocidad() - 5f, -scriptproyectil.getvelocidad() + 5f); //rb.position = Vector2.MoveTowards(rb.position, jugador.GetComponent<Rigidbody2D>().position, scriptproyectil.getvelocidad()); au.Play(); }
public void Disparar(Entidad entidad) { if (disparoprefab == null) { Debug.LogError("No contiene un proyectil valido."); return; } if (IsActivo()) { Proyectil p = (Proyectil)disparoprefab.Create(entidad.transform.parent, transform.position, entidad); p.Disparar(transform.forward); eventodisparo.Invoke(); temporizador.Start(); } }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.tag == "Bullet_Hero") { Proyectil scriptProyectil = collision.gameObject.GetComponent <Proyectil>(); switch (tipo) { case 0: if (scriptProyectil.elemento == 1) { life -= (scriptProyectil.damage + (scriptProyectil.damage * 0.1f)); } else { life -= scriptProyectil.damage; } Debug.Log("" + life); break; case 1: if (scriptProyectil.elemento == 2) { life -= (scriptProyectil.damage + (scriptProyectil.damage * 0.1f)); } else { life -= scriptProyectil.damage; } Debug.Log("" + life); break; case 2: if (scriptProyectil.elemento == 0) { life -= (scriptProyectil.damage + (scriptProyectil.damage * 0.1f)); } else { life -= scriptProyectil.damage; } Debug.Log("" + life); break; } } }
public void Lanzar(float sizeBala, float fuerza, Vector2 velocidadInicial, float angulo) { this.sizeBala = sizeBala; startPosition = transform.position; lanzada = true; balasEnPantalla++; aceleracion = Fisicas.aceleracion; this.velocidadInicial = velocidadInicial; lastBala = this; Controlador.controlador.actualizarDatoGeneral("Balas en pantalla", balasEnPantalla.ToString()); Controlador.controlador.actualizarDatoLB("Angulo", angulo.ToString()); Controlador.controlador.actualizarDatoLB("Fuerza", fuerza.ToString()); Controlador.controlador.actualizarDatoLB("Velocidad inicial", velocidadInicial); Controlador.controlador.actualizarDatoLB("Aceleración", aceleracion); Controlador.controlador.actualizarDatoLB("Tiempo desde el lanzamiento", (0.0f).ToString()); Controlador.controlador.actualizarDatoLB("Tamaño bala", sizeBala.ToString()); Controlador.controlador.actualizarDatoLB("Chocó", "No"); }
/*Se detecta cuando el enemigo recibe un golpe o el Uppercut*/ public void OnTriggerEnter2D(Collider2D col) { if (col.tag == "Bullet" || col.tag == "Uppercut") { col.transform.position = new Vector3(-1000, -1000, -6f); scriptcomportamiento.agregar(col.gameObject); Proyectil proyectil = col.gameObject.GetComponent <Proyectil>(); vidaenemigo -= proyectil.getdaño(); au.clip = efectos [0]; if (!au.isPlaying) { au.Play(); } if (vidaenemigo <= 0) { Destroy(gameObject); } } }
public override void Disparar(Transform arma, Vector3 direccion, float damage) { Proyectil shot1 = (Proyectil)Pooler.instance.SpawnObjeto(proyectil); Proyectil shot2 = (Proyectil)Pooler.instance.SpawnObjeto(proyectil); shot1.setDamage(damage); shot1.SetPatron(patron); shot1.transform.position = arma.position; shot1.posInicial = arma.position; shot1.angulo = direccion.Angulo(); shot1.Disparar(damage, direccion); shot2.SetPatron(patron2); shot2.transform.position = arma.position; shot2.posInicial = arma.position; shot2.angulo = direccion.Angulo(); shot2.setDamage(damage); shot2.Disparar(damage, direccion); }
private void OnTriggerStay2D(Collider2D other) { if (other.CompareTag("unidad") && puededisparar) { Debug.DrawLine(transform.position, other.transform.position, Color.green); // Obtener el angulo hacia el enemigo, desde el angulo inicial del proyectil; ver si el angulo es negativo o positivo float angle = Vector3.Angle(Vector3.right, other.transform.position - transform.position); angle *= Mathf.Sign((other.transform.position - transform.position).y); //Crear una nueva instancia (copia) del objeto proyectilprefab y meterla a la escena, en la posicion de origen de proyectil; dar rotacion en el angulo dado en el eje z Proyectil nuevoProyectil = Instantiate(proyectilprefab, origenProyectil.position, Quaternion.AngleAxis(angle, Vector3.forward)); GetComponent <AudioSource>().Play(); //Asignar el gameObject del enemigo al proyectil nuevoProyectil.objetivo = other.gameObject; puededisparar = false; } }
public void OnTriggerEnter2D(Collider2D colo) { if (colo.tag == "Bullet") { au[3].Play(); jugador = GameObject.FindGameObjectWithTag("Player"); ProyectilComportamiento proycomp = jugador.GetComponent <ProyectilComportamiento>(); colo.transform.position = new Vector3(-1000, -1000, -6f); proycomp.agregar(colo.gameObject); Proyectil proyectil = colo.gameObject.GetComponent <Proyectil>(); vida -= proyectil.getdaño(); if (vida <= 0) { muerte = true; muerto = muerte; } } if (colo.tag == "Uppercut") { GameObject sonidos = GameObject.Find("Sonidos"); AudioSource[] au = sonidos.GetComponents <AudioSource>(); au[2].Play(); vida -= 100f; if (vida <= 0) { muerte = true; muerto = muerte; } } if (colo.name == "ExplosionBomba") { au[4].Play(); vida -= 50f; } }
private void OnTriggerEnter2D(Collider2D other) { Proyectil temp = other.GetComponent <Proyectil>(); if (temp != null) { if (temp.esProyectil) { Destroy(gameObject); if (GetComponent <SpriteRenderer>().color == Color.blue) { ScoreScript.scoreValue += 10; Debug.Log("Si"); } else { ScoreScript.scoreValue += 1; Debug.Log("No"); } } } }
public void OnTriggerEnter2D(Collider2D colo) { if (colo.tag == "Bullet") { aus[1].Play(); GameObject jugador = GameObject.FindGameObjectWithTag("Player"); ProyectilComportamiento proycomp = jugador.GetComponent <ProyectilComportamiento>(); colo.transform.position = new Vector3(-1000, -1000, -6f); proycomp.agregar(colo.gameObject); Proyectil proyectil = colo.gameObject.GetComponent <Proyectil>(); vida -= proyectil.getdaño() * 2; } if (colo.tag == "Uppercut") { aus[0].Play(); vida -= 100f; } if (vida < 0) { GameObject musica = GameObject.Find("Música"); Destroy(musica); puertasalida.SetActive(true); Destroy(scriptjf); Destroy(anim); foreach (GameObject gm in particulas) { gm.SetActive(true); } StartCoroutine(Muerte()); } ParticleSystem particleSystem = GetComponent <ParticleSystem>(); particleSystem.Play(); }
public void dispararProyectil(Matrix posicionActual, Vector3 vectorDireccion) { Proyectil proyectil = new Proyectil(posicionActual, vectorDireccion); proyectil.Init(); proyectiles.Add(proyectil); }
public void eliminarProyectil(Proyectil proy) { proy.dispose(); proyectiles.Remove(proy); }