Phaser 3 Animated Tiles Plugin
npm install phaser-animated-tilesA simple plugin with a simple purpose: to add support for animated tiles to Phaser 3 (3.8.0+) as exported from Tiled.
The bundled example is available live here: http://metroid.niklasberg.se/phaser-animated-tiles/
The plugin is also used in this platformer example: https://github.com/nkholski/phaser3-es6-webpack
The plugin is based on Photonstorms plugin template: https://github.com/photonstorm/phaser3-plugin-template
Latest build can be found in the dist folder or NPM: https://www.npmjs.com/package/phaser-animated-tiles
Run npm install and then npm run build to build the plugin.
npm i and you're set to go.npm run demo or npm run devnpm run buildPlease check out these Phaser 3 demos http://labs.phaser.io/index.html?dir=plugins/&q= for various methods to load the plugin as a scene plugin.
To initilize the plugin you just need to pass the tilemap you want to animate to the plugin. The plugin requires a dynamic layers to work.
````
function create ()
{
this.sys.animatedTiles.init(map);
}
This is actually all you need to do but you may control the plugin calling methods with "this.sys.animatedTiles.methodName()". (The inconsistency between passing a tilemap and a mapindex will be solved by excepting both in all concerned methods. Methods to find tilemaps, layers and tiles will be added.)
Current list of methods:
| Method | Args | Usage |
| ------------- |---------------| -----|
| resetRates | mapIndex?: int | Sets playback rate to 1 globally and for each individual tile, pass mapIndex to limit the method to that map |
| setRate | rate: int, gid?: int, map?: Phaser.Tilemap | Sets playback multiplier to 'rate'. A rate of 2 will play the animation twice as fast as configured in Tiled, and 0.5 half as fast. If a gid is specified the rate is exclusively set for that tile. If the global rate is set to 0.5 and the rate of a tile is set to 2 it will play as configured in Tiled (0.5*2 = 1). Pass tilemap to limit the method to that map.|
| resume | layerIndex?:int, mapIndex?:int | Resume tile animations globally if no layerIndex is set (may be overridden by layers), otherwise for that layer only. Pass mapIndex to limit the method to that map. |
| pause | layerIndex?:int, mapIndex?:int | Resume tile animations globally if no layerIndex is set and overrides layer settingsm, otherwise for that layer only. Pass mapIndex to limit the method to that map.|
| updateAnimatedTiles | TODO | Tell the plugin when you have added new animated tiles to layers after initialization. Needed to detect new animations. |