Monogame Sprite — Sheet !exclusive!

public Rectangle GetRegion(string name)

_animator.Draw(sb, _position, Color.White);

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

public void Update(GameTime gt)

public void Draw(SpriteBatch sb)

public void AddClip(string name, string[] regionNames, float framesPerSecond, bool loop = true)

Loader:

Batch your draws: Use one SpriteSheet instance and draw all frames in a single SpriteBatch.Begin/End block.