示例#1
0
        public Player(Vector2 setPosition)
        {
            _font   = Game.Assets.Load <SpriteFont>("font");
            _sprite = Game.Assets.Load <Texture2D>("red");

            Body = Game.Rooms.CurrentRoom.World.AddBody(this, setPosition, _size);
            Body.AddChildHitbox(0, new Vector2(0, 0), _size);
            AnimationHandler = new AnimationHandler(this);
            Position         = setPosition;

            AnimationHandler.AddAnimation(
                (int)AnimationStates.Idle,
                new Animation(new Rectangle(0, 0, 152, 152), _size)
            {
                SpriteSheet = Game.Assets.Load <Texture2D>("suika_idle_padded"),
                FrameCount  = 18,
                FrameDelay  = 6,
            });

            AnimationHandler.AddAnimation(
                (int)AnimationStates.Walking,
                new Animation(new Rectangle(0, 0, 96, 96), _size)
            {
                SpriteSheet = Game.Assets.Load <Texture2D>("suika_walk"),
                FrameCount  = 8,
                FrameDelay  = 4
            });

            AnimationHandler.AddAnimation(
                (int)AnimationStates.Falling,
                new Animation(new Rectangle(0, 0, 126, 102), _size)
            {
                SpriteSheet = Game.Assets.Load <Texture2D>("suika_fall"),
                FrameCount  = 3,
                FrameDelay  = 6,
                LoopIndex   = 1
            });

            AnimationHandler.AddAnimation(
                (int)AnimationStates.Rising,
                new Animation(new Rectangle(0, 0, 110, 110), _size)
            {
                SpriteSheet = Game.Assets.Load <Texture2D>("suika_rise"),
                Offset      = new Vector2(48, 53),
                FrameCount  = 2,
                FrameDelay  = 4,
                Loop        = false
            });

            AnimationHandler.ChangeAnimation((int)AnimationStates.Idle);
            AnimationHandler.Facing = PlayerOrientation.Right;
        }