Skip to content

Instantly share code, notes, and snippets.

@samme
Forked from tickle-monster/base.js
Last active July 18, 2023 22:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save samme/e279815537b171d05442e89c8acda8ab to your computer and use it in GitHub Desktop.
Save samme/e279815537b171d05442e89c8acda8ab to your computer and use it in GitHub Desktop.
Phaser 3 BaseScene
export class BaseScene extends Phaser.Scene
{
constructor(config)
{
super(config);
}
init()
{
this.user = this.registry.get('user');
}
}
export class Boot extends Phaser.Scene
{
constructor()
{
super({ key: 'boot' });
}
preload() {}
create()
{
this.scene.start('preloader');
}
}
import { BaseScene } from './base.js';
export class Home extends BaseScene
{
constructor()
{
super({
key: 'home'
});
}
init (data)
{
super.init();
}
create ()
{
this.add.text(20, 15, 'BaseScene Test', { fontFamily: 'Courier', fontSize: 30, color: 'white', align: 'left' }).setOrigin(0);
this.add.text(20, 65, this.user.username, { fontFamily: 'Courier', fontSize: 30, color: 'white', align: 'left' }).setOrigin(0);
}
update () {}
}
<html>
<head>
<title>BaseScene Test</title>
</head>
<body style="margin:0px">
<script src="https://cdn.jsdelivr.net/npm/phaser@3.22.0/dist/phaser.js"></script>
<script type="module" src="index.js"></script>
</body>
</html>
import { Boot } from './boot';
import { Preloader } from './preloader';
import { Home } from './home';
const config = {
scale: {
mode: Phaser.Scale.FIT,
parent: 'phaser-example',
autoCenter: Phaser.Scale.CENTER_BOTH,
width: 1136,
height: 640
},
scene: [
Boot,
Preloader,
Home
],
callbacks: {
postBoot: function (game) {
game.scene.dump();
}
}
};
const game = new Phaser.Game(config);
export class Preloader extends Phaser.Scene
{
constructor()
{
super({
key: 'preloader'
});
}
preload()
{
this.load.json('userData', 'user.json');
}
create()
{
var user = this.cache.json.get('userData');
this.registry.set('user', user);
this.scene.start('home');
}
}
{"id":1,"username":"batman"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment