Monogame Sprite Sheet [TRUSTED]
Ensure your sprite sheet dimensions are powers of two (e.g., 512x512, 1024x1024) for optimal GPU performance.
public void Update(GameTime gt)
public void Draw(SpriteBatch sb)
var texture = content.Load<Texture2D>("player_sheet"); // 128x128 (4 frames of 32x32) _sheet = new SpriteSheet(texture, 32, 32); // Define animations _sheet.AddRegion("idle1", new Rectangle(0, 0, 32, 32)); _sheet.AddRegion("idle2", new Rectangle(32, 0, 32, 32)); _sheet.AddRegion("walk1", new Rectangle(64, 0, 32, 32)); _sheet.AddRegion("walk2", new Rectangle(96, 0, 32, 32)); _animator = new AnimatedSprite(_sheet); _animator.AddClip("idle", new[] "idle1", "idle2" , 4f); _animator.AddClip("walk", new[] "walk1", "walk2" , 8f); _animator.Play("idle"); monogame sprite sheet
private SpriteSheet _sheet; private AnimatedSprite _animator; private Vector2 _position; public void Load(ContentManager content) Ensure your sprite sheet dimensions are powers of two (e
var region = GetRegion(regionName); if (region != Rectangle.Empty) spriteBatch.Draw(_texture, position, region, color, rotation, origin, scale, SpriteEffects.None, 0f); // Define animations _sheet.AddRegion("idle1"
Texture2D sheetTexture = Content.Load<Texture2D>("characters/hero_sheet"); SpriteSheet heroSheet = new SpriteSheet(sheetTexture, 32, 32); heroSheet.AddRegion("idle", new Rectangle(0, 0, 32, 32)); heroSheet.AddRegion("walk1", new Rectangle(32, 0, 32, 32)); heroSheet.AddRegion("walk2", new Rectangle(64, 0, 32, 32));