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;
            }
        }
Esempio n. 2
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();
            }
        }