コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }