Click/Button
Introduction¶
Fires 'click' event when touch releasd after pressed.
- Author: Rex
- Behavior of game object
Usage¶
Install plugin¶
Load minify file¶
- Load plugin (minify file) in preload stage
scene.load.plugin('rexbuttonplugin', 'https://raw.githubusercontent.com/rexrainbow/phaser3-rex-notes/master/dist/rexbuttonplugin.min.js', true); - Add button behavior
var button = scene.plugins.get('rexbuttonplugin').add(gameObject, config);
Import plugin¶
- Install rex plugins from npm
npm i phaser3-rex-plugins - Install plugin in configuration of game
import ButtonPlugin from 'phaser3-rex-plugins/plugins/button-plugin.js'; var config = { // ... plugins: { global: [{ key: 'rexButton', plugin: ButtonPlugin, start: true }, // ... ] } // ... }; var game = new Phaser.Game(config); - Add button behavior
var button = scene.plugins.get('rexButtonn').add(gameObject, config);
Import class¶
- Install rex plugins from npm
npm i phaser3-rex-plugins - Import class
import Button from 'phaser3-rex-plugins/plugins/button.js'; - Add button behavior
var button = new Button(gameObject, config);
Create instance¶
var button = scene.plugins.get('rexButton').add(gameObject, {
// enable: true,
// mode: 1, // 0|'press'|1|'release'
// clickInterval: 100 // ms
// threshold: undefined
});
enable: Clickable.mode:'pointerdown','press', or0: Fire 'click' event when touch pressed.'pointerup','release', or1: Fire 'click' event when touch released after pressed.
clickInterval: Interval between 2 'click' events, in ms.threshold: Cancel clicking detecting when dragging distance is larger then this threshold.undefined: Ignore this feature. Default behavior.
Events¶
- Click
button.on('click', function (button, gameObject, pointer, event) { // ... }, scope);- Cancel remaining touched events :
event.stopPropagation()
- Cancel remaining touched events :
- Enable
button.on('enable', function (button, gameObject) { // ... }, scope); - Disable
button.on('disable', function (button, gameObject) { // ... }, scope); - Pointer over
button.on('over', function (button, gameObject, pointer, event) { // ... }, scope); - Pointer out
button.on('out', function (button, gameObject, pointer, event) { // ... }, scope); - Pointer down
button.on('down', function (button, gameObject, pointer, event) { // ... }, scope); - Pointer up
button.on('up', function (button, gameObject, pointer, event) { // ... }, scope);
Enable¶
- Get
var enabled = button.enable; // enabled: true, or false - Set
button.setEnable(enabled); // enabled: true, or false // button.enable = enabled; - Toggle
button.toggleEnable();
Set mode¶
button.setMode(mode);
mode:'press', or0: Fire 'click' event when touch pressed.'release', or1: Fire 'click' event when touch released after pressed.
Set click interval¶
button.setClickInterval(interval); // interval in ms
Set dragging threshold¶
button.setDragThreshold(distance); // distance in pixels