private void Walk() { switch (_myLastKeyBoardDirection) { case Stopped: _spriteBatch.Draw(_mainTexture, _position, _lastAnimation.GetFrame(_isMoving).Bounds, Color.White); break; case MoveUp: _lastAnimation = _walkUp; break; case MoveDown: _lastAnimation = _walkDown; break; case MoveLeft: _lastAnimation = _walkLeft; break; case MoveRight: _lastAnimation = _walkRight; break; } var lowerBounds = _lastAnimation.GetFrame(_isMoving).Bounds; var lowerOffset = _lastAnimation.GetOffset(); _spriteBatch.Draw(_mainTexture, _position + lowerOffset, lowerBounds, Color.White); }
public Hero() { if (MyHero == null) MyHero = this; _myInventory = new Inventory(this); _mainTexture = PlayScreen.CharacterTexture; _hitRect = new Rectangle(0, 0, 28, 25); _lootRect = new Rectangle(0, 0, 100, 100); _attackRect = new Rectangle(0, 0, attackRectWH, attackRectWH); _spriteBatch = PlayScreen.Spritebatch; _woodChop = new DecorationSound("wood", 3); _walkDown = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "down-walk", 1, new[] {new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)}); _walkUp = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "up-walk", 1, new[] {new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)}); _walkLeft = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "left-walk", 1, new[] {new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)}); _walkRight = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "right-walk", 1, new[] {new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)}); //_runDown = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "down-run", new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); //_runLeft = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "left-run", 2, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); //_runRight = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "right-run", 2, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); //_runUp = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "right-run", 2, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); //_sickleDown = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "down-sickle", 4, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); //_sickleUp = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "up-sickle", 4, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); //_sickleLeft = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "left-sickle", 4, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); //_sickleRight = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "right-sickle", 4, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); //_hammerDown = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "down-hammer", 4, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); //_hammerUp = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "up-hammer", 4, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); //_hammerLeft = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "left-hammer", 4, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); //_hammerRight = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "right-hammer", 4, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); _axeDown = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "down-axe", 0, new[] { new Vector2(0, -18), new Vector2(0, -12), new Vector2(-4, 6), new Vector2(0, 6) }); _axeUp = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "up-axe", 0, new[] { new Vector2(-2, -16), new Vector2(-2, -34), new Vector2(-2, 2), new Vector2(-2, 2) }); _axeLeft = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "left-axe", 0, new[] { new Vector2(-8, -18), new Vector2(-40, -18), new Vector2(-38, 2), new Vector2(-38, 2) }); _axeRight = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "right-axe", 0, new[] { new Vector2(-7, -19), new Vector2(0, -19), new Vector2(0, 1), new Vector2(0, 1) }); //_waterDown = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "right-water", 2, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); //_waterUp = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "right-water", 2, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); //_waterLeft = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "right-water", 2, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); //_waterRight = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "right-water", 2, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); // _dead = new CharacterAnim(PlayScreen.CharacterAtlas, "hero", "dead", 5, new[] { new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0) }); _myEquipped = EquippedAxe; _lastAnimation = _walkDown; _walkDown.IsWalk = _walkLeft.IsWalk = _walkRight.IsWalk = _walkUp.IsWalk = true; }