Beispiel #1
0
        public virtual async Task LoadAsync()
        {
            MapSpriteSheet = await MapSheetLoader.LoadAsync(TilesetName);

            DrawnMap = new MapTile[MapGrid.Count, MapGrid[0].Length];

            // These offsets account for the fact that tiles are drawn based
            // on their center, so a 32x32 tile drawn at (0, 0) will have its
            // Center at (0, 0), and its Top Left at (-16, -16) without these
            // adjustments.
            int tileXOffset = TileWidth / 2;
            int tileYOffset = TileWidth / 2;

            for (int rowNum = 0; rowNum < MapGrid.Count; rowNum++)
            {
                for (int colNum = 0; colNum < MapGrid[0].Length; colNum++)
                {
                    Vector2 coords = ModelToWorld(rowNum, colNum);
                    DrawnMap[rowNum, colNum] = new MapTile
                    {
                        BoundingBoxOrigin = MapSpriteSheet.Sprite(CharToTile[MapGrid[rowNum][colNum]]).Origin,
                        BoundingBox       = new Rectangle((int)coords.X + tileXOffset, (int)coords.Y + tileYOffset, TileWidth, TileHeight),
                        Position          = new Vector2(coords.X + tileXOffset, coords.Y + tileYOffset),
                        ModelChar         = MapGrid[rowNum][colNum],
                        IsCollidable      = CollisionTiles.Contains(MapGrid[rowNum][colNum])
                    };
                }
            }
        }
        public async Task LoadAsync()
        {
            _testNpcSheet = await _spriteSheetLoader.LoadAsync("TestTerraAtlas");

            _standLeftAnimation = new Animation(
                TimeSpan.FromMilliseconds(1000),
                _testNpcSheet,
                SpriteEffects.None,
                new string[] { TestTerraAtlas.TerraStandLeft });
        }
        public async Task LoadAsync()
        {
            _stickSheet = await _spriteSheetLoader.LoadAsync("StickSheet");

            _standLeftAnimation = new Animation(
                TimeSpan.FromMilliseconds(300),
                _stickSheet,
                SpriteEffects.None,
                new string[] { StickSheet.StickStand });

            _standRightAnimation = new Animation(
                TimeSpan.FromMilliseconds(300),
                _stickSheet,
                SpriteEffects.FlipHorizontally,
                new String[] { StickSheet.StickStand });

            _standUpAnimation = new Animation(
                TimeSpan.FromMilliseconds(300),
                _stickSheet,
                SpriteEffects.None,
                new string[] { StickSheet.StickStand });

            _standDownAnimation = new Animation(
                TimeSpan.FromMilliseconds(300),
                _stickSheet,
                SpriteEffects.None,
                new string[] { StickSheet.StickStand });

            _walkLeftAnimation = new Animation(
                TimeSpan.FromMilliseconds(200),
                _stickSheet,
                SpriteEffects.FlipHorizontally,
                new string[] { StickSheet.StickWalkRight01,
                               StickSheet.StickWalkRight02,
                               StickSheet.StickWalkRight03,
                               StickSheet.StickWalkRight02 });

            _walkRightAnimation = new Animation(
                TimeSpan.FromMilliseconds(200),
                _stickSheet,
                SpriteEffects.None,
                new string[] { StickSheet.StickWalkRight01,
                               StickSheet.StickWalkRight02,
                               StickSheet.StickWalkRight03,
                               StickSheet.StickWalkRight02 });

            _jumpRightAnimation = new Animation(
                TimeSpan.FromMilliseconds(200),
                _stickSheet,
                SpriteEffects.None,
                new string[] { StickSheet.StickRightJump01 });

            _jumpLeftAnimation = new Animation(
                TimeSpan.FromMilliseconds(200),
                _stickSheet,
                SpriteEffects.FlipHorizontally,
                new string[] { StickSheet.StickRightJump01 });

            _punchRightAnimation = new Animation(
                TimeSpan.FromMilliseconds(150),
                _stickSheet,
                SpriteEffects.None,
                new string[] {
                StickSheet.StickPunch3,
                StickSheet.StickPunch2,
                StickSheet.StickPunch1,
                StickSheet.StickPunch1
            });

            _punchLeftAnimation = new Animation(
                TimeSpan.FromMilliseconds(150),
                _stickSheet,
                SpriteEffects.FlipHorizontally,
                new string[] {
                StickSheet.StickPunch3,
                StickSheet.StickPunch2,
                StickSheet.StickPunch1,
                StickSheet.StickPunch1
            });
        }
Beispiel #4
0
        public async Task LoadAsync()
        {
            _effectsSheet = await _spriteLoader.LoadAsync("EffectsSheet");

            await _punchAttack.LoadAsync(_effectsSheet);
        }