public Collision(Sprite playerSprite, Alien alien, BulletList bullets, Asteroid asteroids) { this.playerSprite = playerSprite; this.alien = alien; this.bullets = bullets; this.asteroids = asteroids; }
public Particle(Sprite sprite) { this.Sprite = sprite; this.Velocity = Vector3.Zero; }
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); }
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); }