Exemplo n.º 1
0
 public Collision(Sprite playerSprite, Alien alien, BulletList bullets, Asteroid asteroids)
 {
     this.playerSprite = playerSprite;
     this.alien = alien;
     this.bullets = bullets;
     this.asteroids = asteroids;
 }
Exemplo n.º 2
0
 public Particle(Sprite sprite)
 {
     this.Sprite = sprite;
     this.Velocity = Vector3.Zero;
 }
Exemplo n.º 3
0
 private void AddMenuLogo()
 {
     var material = new Material(Shader.Position2DColorUV, "AsteroidsMainMenuLogo");
     var gameLogo= new Sprite(material,
         Rectangle.FromCenter(0.5f, ScreenSpace.Current.Top + 0.1f, 0.5f, 0.14f));
     gameLogo.RenderLayer = (int)AsteroidsRenderLayer.UserInterface;
     Add(gameLogo);
 }
Exemplo n.º 4
0
        private void checkForAsteroidShot(GraphicsDeviceManager graphics)
        {
            //bullet-asteroid collision check
            Sprite removeBullet = null;
            Sprite removeAsteroid = null;

            for (int i = 0; i < asteroids.astroids.Count; i++)
            {
                for (int j = 0; j < bullets.bullets.Count; j++)
                {

                    if (Vector2.DistanceSquared(bullets.bullets[j].position, asteroids.astroids[i].position) <
                        (asteroids.image.Width + asteroids.image.Height * asteroids.astroids[i].size))
                    {
                        removeBullet = bullets.bullets[j];

                        removeAsteroid = asteroids.astroids[i];
                    }
                }
                bullets.bullets.Remove(removeBullet);
            }

            if (removeAsteroid != null && removeAsteroid.IsLargeMeteor)
            {
                Sprite smallMeteor = new Sprite(graphics, asteroids.image);
                smallMeteor.IsLargeMeteor = false;
                smallMeteor.Rotation = removeAsteroid.Rotation;
                smallMeteor.velocity = removeAsteroid.velocity;
                smallMeteor.velocity.X -= 0.25f;
                smallMeteor.velocity.Y += 0.25f;
                smallMeteor.position = removeAsteroid.position;
                smallMeteor.size = 0.15f;

                Sprite smallMeteor1 = new Sprite(graphics, asteroids.image);
                smallMeteor1.IsLargeMeteor = false;
                smallMeteor1.velocity = removeAsteroid.velocity;
                smallMeteor1.Rotation = removeAsteroid.Rotation;
                smallMeteor1.velocity.Y += 0.25f;
                smallMeteor1.velocity.X += 0.25f;
                smallMeteor1.position = removeAsteroid.position;
                smallMeteor1.size = 0.15f;

                asteroids.astroids.Add(smallMeteor);
                asteroids.astroids.Add(smallMeteor1);
            }

            asteroids.astroids.Remove(removeAsteroid);
        }