public void Shoot(float rota, GameTime gameTime, Asteroid aster) { float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds; spawnTimerBalas += elapsed; if (spawnTimerBalas >= spawnRateBalas) { Balas nuevaBala = new Balas(texturaBala, rota, Color.White); nuevaBala.velocidad = new Vector2((float)Math.Cos(rota), (float)Math.Sin(rota)); nuevaBala.posicion = aster.Position; nuevaBala.esVisible = true; listaBalas.Add(nuevaBala); spawnTimerBalas = 0; } }
public void Shoot(float rota, GameTime gameTime) { float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds; spawnTimer += elapsed; if (spawnTimer >= spawnRate) { if (DirBalas2 || DirBalas3 || (!DirBalas1 && !DirBalas2 && !DirBalas3)) { Balas nuevaBala = new Balas(texturaBala, rota, Color.White); nuevaBala.velocidad = new Vector2((float)Math.Cos(rota), (float)Math.Sin(rota)) * 5f + velocidad; nuevaBala.posicion = posicion + nuevaBala.velocidad * 5; nuevaBala.esVisible = true; spawnTimer = 0; listaBalas.Add(nuevaBala); } if (DirBalas1 || DirBalas3) { Balas nuevaBala2 = new Balas(texturaBala, rota + 0.35f, Color.LightGreen); nuevaBala2.velocidad = new Vector2((float)Math.Cos(rota + 0.35f), (float)Math.Sin(rota + 0.35f)) * 5f + velocidad; nuevaBala2.posicion = posicion + nuevaBala2.velocidad * 5; nuevaBala2.esVisible = true; spawnTimer = 0; listaBalas.Add(nuevaBala2); Balas nuevaBala3 = new Balas(texturaBala, rota - 0.35f, Color.LightGreen); nuevaBala3.velocidad = new Vector2((float)Math.Cos(rota - 0.35f), (float)Math.Sin(rota - 0.35f)) * 5f + velocidad; nuevaBala3.posicion = posicion + nuevaBala3.velocidad * 5; nuevaBala3.esVisible = true; spawnTimer = 0; listaBalas.Add(nuevaBala3); } if (DirBalas3) { Balas nuevaBala4 = new Balas(texturaBala, rota + 0.90f, Color.OrangeRed); nuevaBala4.velocidad = new Vector2((float)Math.Cos(rota + 0.90f), (float)Math.Sin(rota + 0.90f)) * 5f + velocidad; nuevaBala4.posicion = posicion + nuevaBala4.velocidad * 5; nuevaBala4.esVisible = true; spawnTimer = 0; listaBalas.Add(nuevaBala4); Balas nuevaBala5 = new Balas(texturaBala, rota - 0.90f, Color.OrangeRed); nuevaBala5.velocidad = new Vector2((float)Math.Cos(rota - 0.90f), (float)Math.Sin(rota - 0.90f)) * 5f + velocidad; nuevaBala5.posicion = posicion + nuevaBala5.velocidad * 5; nuevaBala5.esVisible = true; spawnTimer = 0; listaBalas.Add(nuevaBala5); } sn.playerShoot.Play(); } }