sprite-frame-animation
Version:
A user-friendly Sprite frame animation library
129 lines (90 loc) • 4.14 kB
Markdown
[](https://github.com/yanhaijing/jslib-base)
[](https://github.com/CNLHB/spriteframe/blob/master/LICENSE)
[](https://github.com/CNLHB/spriteframe/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/sprite-frame-animation)
[](http://www.npmtrends.com/sprite-frame-animation)
[](http://isitmaintained.com/project/CNLHB/sprite-frame-animation 'Percentage of issues still open')
A user-friendly Sprite frame animation library based on Canvas.
- Coded in ES6+ or TypeScript, easily compile and generate production code
- Supports multi environment, including default browsers, Node, AMD, CMD, Webpack, Rollup, Fis and so on.
- Integrated [jsmini](https://github.com/jsmini)
**Note:** When `export` and `export default` are not used at the same time, there is the option to
turn on `legacy mode`. Under `legacy mode`, the module system can be compatible with `IE6-8`. For more information on legacy mode,
please see rollup supplemental file.
Unit tests guarantee support on the following environment:
| IE | CH | FF | SF | OP | IOS | Android | Node |
| --- | ---- | ---- | --- | ---- | ----- | ------- | ---- |
| 11+ | 100+ | 100+ | 16+ | 100+ | 10.3+ | 4.1+ | 14+ |
> Note: Compiling code depend on ES5, so you need import [es5-shim](http://github.com/es-shims/es5-shim/) to compatible with `IE6-8`, here is a [demo](./demo/demo-global.html)
```
├── demo - Using demo
├── dist - Compiler output code
├── doc - Project documents
├── src - Source code directory
├── test - Unit tests
├── CHANGELOG.md - Change log
└── TODO.md - Planned features
```
Using npm, download and install the code.
```bash
$ npm install --save sprite-frame-animation
```
For webpack or similar environment:
```js
import SpriteFrame from 'sprite-frame-animation';
let s1 = SpriteFrame({
container: document.querySelector('#container'),
name: 'staticAniPerson', // animation name
orient: 'left-right', // arrangement of keyframe images
width: 40, // width of a single frame
height: 40, // height of a single frame
img: './spritesheet.png', // url of the complete sprite sheet image for the animation
firstImg: './spritesheet.png', // placeholder image url for initial loading, can be used if the full sprite sheet image is large
totalKeyNum: 6, // total number of frames
count: 0, // number of times to play the complete animation, 0 means infinite loop
duration: 1000, // total duration of all frames
delay: 1000, // delay before starting in milliseconds
autoplay: true, // auto play
interval: 0, // interval in milliseconds before playing the next round of animation
});
s1.on('end', function () {});
```
For browser environment:
```html
<script src="node_modules/sprite-frame-animation/dist/index.aio.js"></script>
```
[](./doc/api.md)
For the first time to run, you need to install dependencies firstly.
```bash
$ npm install
```
To build the project:
```bash
$ npm run build
```
To run unit tests:
```bash
$ npm test
```
> Note: The browser environment needs to be tested manually under `test/browser`
Modify the version number in package.json, modify the version number in README.md, modify the CHANGELOG.md, and then release the new version.
```bash
$ npm run release
```
Publish the new version to NPM.
```bash
$ npm publish
```
[](https://github.com/CNLHB/spriteframe/graphs/contributors)
[](./CHANGELOG.md)
[](./TODO.md)