52 lines
1.9 KiB
TypeScript
52 lines
1.9 KiB
TypeScript
import { Scene } from 'phaser';
|
|
|
|
export default class PreloaderScene extends Scene {
|
|
constructor() {
|
|
super('Preloader');
|
|
}
|
|
|
|
init() {
|
|
const { centerX, centerY, width, height } = this.cameras.main;
|
|
// We loaded this image in our Boot Scene, so we can display it here
|
|
const bg = this.add.image(centerX, centerY, 'background01');
|
|
bg.scale = 2;
|
|
// A simple progress bar. This is the outline of the bar.
|
|
this.add.rectangle(centerX, centerY, 468, 32).setStrokeStyle(2, 0x000000);
|
|
|
|
// This is the progress bar itself. It will increase in size from the left based on the % of progress.
|
|
const bar = this.add.rectangle(centerX - 230, centerY, 4, 28, 0xffffff);
|
|
|
|
const text = this.add.text(centerX, centerY, 'LADATAAN...', {
|
|
color: "black",
|
|
backgroundColor: "white",
|
|
stroke: "#AAA",
|
|
strokeThickness: 4,
|
|
fontFamily: "Kenney Bold",
|
|
});
|
|
text.setOrigin(0.5);
|
|
|
|
// Use the 'progress' event emitted by the LoaderPlugin to update the loading bar
|
|
this.load.on('progress', (progress: number) => {
|
|
// Update the progress bar (our bar is 464px wide, so 100% = 464px)
|
|
bar.width = 4 + (460 * progress);
|
|
});
|
|
}
|
|
|
|
preload() {
|
|
this.load.setPath('assets');
|
|
|
|
this.load.spritesheet('button-bg', 'panel-000.png', { frameWidth: 16, frameHeight: 16 });
|
|
this.load.spritesheet('card-bg', 'card-bg.png', { frameWidth: 272, frameHeight: 272 });
|
|
this.load.spritesheet('card-shadow', 'card-shadow.png', { frameWidth: 272, frameHeight: 272 });
|
|
|
|
const characters = ['akakabuto', 'ben', 'cross', 'gin', 'hyena', 'john', 'madara', 'mosa', 'riki', 'smith', 'sniper']
|
|
|
|
characters.forEach(character => {
|
|
this.load.spritesheet('character-' + character + '-card', 'characters/' + character + '_card.png', { frameWidth: 256, frameHeight: 256 });
|
|
});
|
|
}
|
|
|
|
create() {
|
|
this.scene.start('MainMenu');
|
|
}
|
|
} |