Rotate to
Introduction¶
Rotate game object towards target position with a steady speed.
- Author: Rex
- Behavior of game object
Usage¶
Install plugin¶
Load minify file¶
- Load plugin (minify file) in preload stage
scene.load.plugin('rexrotatetoplugin', 'https://raw.githubusercontent.com/rexrainbow/phaser3-rex-notes/master/dist/rexrotatetoplugin.min.js', true);
- Add rotate-to behavior
var rotateTo = scene.plugins.get('rexrotatetoplugin').add(gameObject, config);
Import plugin¶
- Install rex plugins from npm
npm i phaser3-rex-plugins
- Install plugin in configuration of game
import RotateToPlugin from 'phaser3-rex-plugins/plugins/rotateto-plugin.js'; var config = { // ... plugins: { global: [{ key: 'rexRotateTo', plugin: RotateToPlugin, start: true }, // ... ] } // ... }; var game = new Phaser.Game(config);
- Add rotate-to behavior
var rotateTo = scene.plugins.get('rexRotateTo').add(gameObject, config);
Import class¶
- Install rex plugins from npm
npm i phaser3-rex-plugins
- Import class
import RotateTo from 'phaser3-rex-plugins/plugins/rotateto.js';
- Add rotate-to behavior
var rotateTo = new RotateTo(gameObject, config);
Create instance¶
var rotateTo = scene.plugins.get('rexRotateTo').add(gameObject, {
// speed: 180,
// enable: true,
// timeScale: 1,
});
speed
: Turn speed, degrees in second
Start moving¶
Rotate game object towards position¶
- Shortest angle
rotateTo.rotateTowardsPosition(x, y);
x
,y
: Target position
- Clockwise/counter-clockwise
rotateTo.rotateTowardsPosition(x, y, dir); // rotateTo.rotateTowardsPosition(x, y, dir, speed);
dir
:0
: Shortest angle1
, or'cw'
: Clockwise2
, or'ccw'
: Counter-clockwise
speed
: Turn speed, degrees in second
Rotate game object to angle¶
- Shortest angle
rotateTo.rotateTo(angle);
angle
: Target angle in degrees
- Clockwise/counter-clockwise
rotateTo.rotateTo(angle, dir); // rotateTo.rotateTo(angle, dir, speed);
dir
:0
: Shortest angle1
, orcw
: Clockwise2
, orccw
: Counter-clockwise
speed
: Turn speed, degrees in second
Enable¶
- Enable (default)
or
rotateTo.setEnable();
rotateTo.enable = true;
- Disable
or
rotateTo.setEnable(false);
rotateTo.enable = false;
Pause, Resume, stop rotating¶
rotateTo.pause();
rotateTo.resume();
rotateTo.stop();
Set speed¶
rotateTo.setSpeed(speed);
// rotateTo.speed = speed;
speed
: Turn speed, degrees in second
Events¶
- On rotating start
rotateTo.on('start', function(gameObject, rotateTo){});
- On reached target
rotateTo.on('complete', function(gameObject, rotateTo){});
Status¶
- Is moving
var isRunning = rotateTo.isRunning;