public static Dictionary <TileOrientation, GameSprite> CreateTileSet( Texture tex, Vector2i boundSize, Vector2i actualSize) { var tiles = new Dictionary <TileOrientation, GameSprite>(); for (int y = 0; y < 5; y++) { for (int x = 0; x < 4; x++) { var orientation = (TileOrientation)(y * 4 + x); tiles.Add( orientation, new GameSprite( GameSprite.GetImagesFromTexture( tex, new IntRect[] { new IntRect( (boundSize.X + 2) * x + 1, (boundSize.Y + 2) * y + 1, boundSize.X, boundSize.Y) }, new Vector2f[] { new Vector2f(actualSize.X, actualSize.Y) } ), new Vector2f(actualSize.X / 2, actualSize.Y / 2), new IntRect(0, 0, actualSize.X, actualSize.Y), 0 ) ); } } return(tiles); }
private Sprites() { Blank = new Texture("img/blank.png"); Empty = new GameSprite( GameSprite.GetImagesFromTexture( Blank, new IntRect[] { new IntRect(0, 0, 64, 64) }, new Vector2f[] { new Vector2f(64, 64) } ), new Vector2f(0, 0), new IntRect(0, 0, 64, 64), 0 ); PlayerWalkTex = new Texture("img/sammy-move.png"); PlayerWalkRight = new GameSprite( GameSprite.GetImagesFromTexture( PlayerWalkTex, new IntRect[] { new IntRect(1, 1, 32, 32), new IntRect(35, 1, 32, 32), new IntRect(69, 1, 32, 32), new IntRect(103, 1, 32, 32) }, new Vector2f[] { new Vector2f(128, 128), new Vector2f(128, 128), new Vector2f(128, 128), new Vector2f(128, 128) } ), new Vector2f(64, 64), new IntRect(0, 0, 128, 128), 20 ); PlayerWalkLeft = new GameSprite( GameSprite.GetImagesFromTexture( PlayerWalkTex, new IntRect[] { new IntRect(103, 35, 32, 32), new IntRect(69, 35, 32, 32), new IntRect(35, 35, 32, 32), new IntRect(1, 35, 32, 32) }, new Vector2f[] { new Vector2f(128, 128), new Vector2f(128, 128), new Vector2f(128, 128), new Vector2f(128, 128) } ), new Vector2f(64, 64), new IntRect(0, 0, 128, 128), 20 ); PlayerStandRight = new GameSprite( GameSprite.GetImagesFromTexture( PlayerWalkTex, new IntRect[] { new IntRect(1, 1, 32, 32), }, new Vector2f[] { new Vector2f(128, 128), } ), new Vector2f(64, 64), new IntRect(0, 0, 128, 128), 0 ); PlayerStandLeft = new GameSprite( GameSprite.GetImagesFromTexture( PlayerWalkTex, new IntRect[] { new IntRect(103, 35, 32, 32), }, new Vector2f[] { new Vector2f(128, 128), } ), new Vector2f(64, 64), new IntRect(0, 0, 128, 128), 0 ); PlayerJumpRight = new GameSprite( GameSprite.GetImagesFromTexture( PlayerWalkTex, new IntRect[] { new IntRect(1, 69, 32, 32), }, new Vector2f[] { new Vector2f(128, 128), } ), new Vector2f(64, 64), new IntRect(0, 0, 128, 128), 0 ); PlayerFallRight = new GameSprite( GameSprite.GetImagesFromTexture( PlayerWalkTex, new IntRect[] { new IntRect(35, 69, 32, 32), }, new Vector2f[] { new Vector2f(128, 128), } ), new Vector2f(64, 64), new IntRect(0, 0, 128, 128), 0 ); PlayerJumpLeft = new GameSprite( GameSprite.GetImagesFromTexture( PlayerWalkTex, new IntRect[] { new IntRect(69, 69, 32, 32), }, new Vector2f[] { new Vector2f(128, 128), } ), new Vector2f(64, 64), new IntRect(0, 0, 128, 128), 0 ); PlayerFallLeft = new GameSprite( GameSprite.GetImagesFromTexture( PlayerWalkTex, new IntRect[] { new IntRect(103, 69, 32, 32), }, new Vector2f[] { new Vector2f(128, 128), } ), new Vector2f(64, 64), new IntRect(0, 0, 128, 128), 0 ); GrassTileSetTex = new Texture("img/simple-dirt.png"); GrassTiles = GameSprite.CreateTileSet(GrassTileSetTex, new Vector2i(32, 32), new Vector2i(128, 128)); }