예제 #1
0
 public void Add(SpriteContainer otherSheet)
 {
     foreach (var sprite in otherSheet.spriteList)
     {
         spriteList.Add(sprite);
     }
 }
예제 #2
0
        public void LoadSpriteSheet(string spriteSheetName, int spriteWidth, int spriteHeight)
        {
            var spriteSheet = contentManager.Load <Texture2D>(spriteSheetName);

            int columns = spriteSheet.Width / spriteWidth;
            int rows    = spriteSheet.Height / spriteHeight;

            var spriteContainer = new SpriteContainer();

            if (rows == 0)
            {
                rows = 1;
            }

            if (columns == 0)
            {
                columns = 1;
            }

            for (var column = 0; column < columns; column++)
            {
                for (var row = 0; row < rows; row++)
                {
                    Rectangle sourceRectangle = new Rectangle(spriteWidth * column, spriteHeight * row, spriteWidth, spriteHeight);
                    Vector2   size            = new Vector2(1, 1);

                    string spriteTextureMap = spriteSheet + "_" + column + "_" + row;

                    spriteContainer.Add(spriteTextureMap, new Sprite(spriteSheet, sourceRectangle, size, 0.5f));
                }
            }

            spriteContainerList.Add(spriteSheetName, spriteContainer);
        }
예제 #3
0
 public void Add(string name, SpriteContainer spriteContainer)
 {
     spriteContainerList.Add(name, spriteContainer);
 }
예제 #4
0
 public void Add(string spriteSheetContainerName, SpriteContainer spriteSheetContainer)
 {
     spriteSheetContainerList.Add(spriteSheetContainerName, spriteSheetContainer);
 }