Build games as easily as you play them — join the Phaser Beam waitlist for Early Access.
class ClownGameObject extends Phaser.GameObjects.Image { constructor (scene, x, y) { super(scene, x, y, 'clown'); this.setScale(4); } } class ClownPlugin extends Phaser.Plugins.BasePlugin { constructor (pluginManager) { super(pluginManager); // Register our new Game Object type pluginManager.registerGameObject('clown', this.createClown); } createClown (x, y) { return this.displayList.add(new ClownGameObject(this.scene, x, y)); } } const config = { type: Phaser.AUTO, parent: 'phaser-example', width: 800, height: 600, pixelArt: true, plugins: { global: [ { key: 'ClownPlugin', plugin: ClownPlugin, start: true } ] }, scene: { preload: preload, create: create } }; let game = new Phaser.Game(config); function preload () { this.load.setBaseURL('https://cdn.phaserfiles.com/v385'); this.load.image('clown', 'assets/sprites/clown.png'); } function create () { this.add.clown(400, 200); this.add.clown(300, 300); this.add.clown(500, 300); }
class ClownGameObject extends Phaser.GameObjects.Image {
constructor (scene, x, y)
{
super(scene, x, y, 'clown');
this.setScale(4);
}
}
class ClownPlugin extends Phaser.Plugins.BasePlugin {
constructor (pluginManager)
{
super(pluginManager);
// Register our new Game Object type
pluginManager.registerGameObject('clown', this.createClown);
}
createClown (x, y)
{
return this.displayList.add(new ClownGameObject(this.scene, x, y));
}
}
const config = {
type: Phaser.AUTO,
parent: 'phaser-example',
width: 800,
height: 600,
pixelArt: true,
plugins: {
global: [
{ key: 'ClownPlugin', plugin: ClownPlugin, start: true }
]
},
scene: {
preload: preload,
create: create
}
};
let game = new Phaser.Game(config);
function preload ()
{
this.load.setBaseURL('https://cdn.phaserfiles.com/v385');
this.load.image('clown', 'assets/sprites/clown.png');
}
function create ()
{
this.add.clown(400, 200);
this.add.clown(300, 300);
this.add.clown(500, 300);
}