// Frame size frameWidth: 32, frameHeight: 32,
If you’ve ever tried to build a sprite‑based animation system from scratch in JavaScript, you know how quickly it becomes messy: frame counters, manual canvas clearing, speed adjustments, and state management. That’s why I was excited to discover Player‑Animator – a tiny, no‑dependency library that makes sprite sheet animations a breeze.
As of its 0.9.9 release, the API is stable, flexible, and perfect for games, interactive avatars, or even animated icons. Let’s install it and write our first animation. You need version 0.9.9 or later . The library is available as an ES module. Using a package manager (npm / yarn) npm install player-animator@^0.9.9 Using a CDN (quick prototyping) <script type="importmap"> { "imports": { "player-animator": "https://unpkg.com/player-animator@0.9.9/index.js" } } </script> Or import directly:
// Frame order: indices 0,1,2,3 (repeat) frames: [0, 1, 2, 3],
// Speed: frames per second fps: 12,
// Loop forever loop: true,
Install Player-animator, Version 0.9.9 Or Later. Fix -
// Frame size frameWidth: 32, frameHeight: 32,
If you’ve ever tried to build a sprite‑based animation system from scratch in JavaScript, you know how quickly it becomes messy: frame counters, manual canvas clearing, speed adjustments, and state management. That’s why I was excited to discover Player‑Animator – a tiny, no‑dependency library that makes sprite sheet animations a breeze.
As of its 0.9.9 release, the API is stable, flexible, and perfect for games, interactive avatars, or even animated icons. Let’s install it and write our first animation. You need version 0.9.9 or later . The library is available as an ES module. Using a package manager (npm / yarn) npm install player-animator@^0.9.9 Using a CDN (quick prototyping) <script type="importmap"> { "imports": { "player-animator": "https://unpkg.com/player-animator@0.9.9/index.js" } } </script> Or import directly:
// Frame order: indices 0,1,2,3 (repeat) frames: [0, 1, 2, 3],
// Speed: frames per second fps: 12,
// Loop forever loop: true,