Example #1
0
        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);
        }
Example #2
0
        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;
        }