//constructor takes x&y spawn coords and a player public ShootingMinion(Player p,int spawnX, int spawnY) : base(p,spawnX,spawnY-=100) { //spawn coords offset since this minion is TALL Image = ImageBank.shootingMinion[0]; Location = new Rectangle(spawnX, spawnY, 65, 104); faceLeft = false; bullet = new Projectile(0, 0, true); bullet.Active = false; bulletY = 10; }
public Player() { //default constructor health = 1; Image = ImageBank.defaultImage; Location = new Rectangle(50, 250, 57, 87); //Location.Width = Image.Width; //Location.Height = Image.Height; bullet = new Projectile(0,0,false); bullet.Active = false; //map = m; state = Playerstate.standing; previous = state; // bullet = new Projectile(2, 2, false); }
//reset player and variables to replay level public override void Reset() { Location = new Rectangle(map.PlayerSpawn.X, map.PlayerSpawn.Y-100, Location.Width, Location.Height); Map.scroll.X = -Location.X+400-Location.Width/2; Map.scroll.Y = -Location.Y+300-Location.Height/2; health = 1; bullet = new Projectile(0, 0, false); bullet.Active = false; xSpeed = 0; ySpeed = 0; }
//spawn a bullet public void Shoot() { //can't shoot when player is to the right // this.col = Color.Red; if (!shotFired) { //make new bullet at player's location bullet = new Projectile(Location.Center.X, Location.Center.Y, false); shotFired = true; //set speed negative if player is facing the left bullet.xSpeed = bulletSpeed; if (faceLeft) { bullet.xSpeed *= -1; } //add bullet to map.Movables and add map to bullet bullet.Map = map; map.Movables.Add(bullet); } }
//spawn a bullet public virtual void Shoot() { shotFired = true; timer = shootCooldown; //make new bullet at enemy's location bullet = new Projectile(Location.X+bulletX, Location.Y+bulletY, true); //bullet.Update(); bullet.Offset = offset; bullet.Image = bulletImage; bullet.Map = map; map.Movables.Add(bullet); //set speed negative if player is to the left if (faceLeft){//player.Location.X < Location.X) { bullet.xSpeed = -bulletSpeed; // faceLeft = true; } else { bullet.xSpeed = bulletSpeed; // faceLeft = false; } }