Spaces:
Build error
Build error
import { Game, Scale, Types, WEBGL } from "phaser"; | |
import { TownScene, LoadingScene } from "./scenes"; | |
import UIPlugin from "./phaser3-rex-plugins/templates/ui/ui-plugin"; | |
import BoardPlugin from "./phaser3-rex-plugins/plugins/board-plugin"; | |
declare global { | |
interface Window { | |
sizeChanged: () => void; | |
game: Game; | |
} | |
} | |
export const gameConfig: Types.Core.GameConfig = { | |
title: "Phaser game tutorial", | |
type: WEBGL, | |
parent: "game", | |
// backgroundColor: '#351f1b', | |
scale: { | |
mode: Scale.ScaleModes.NONE, | |
width: window.innerWidth, | |
height: window.innerHeight, | |
}, | |
physics: { | |
default: "arcade", | |
arcade: { | |
debug: false, | |
}, | |
}, | |
render: { | |
antialiasGL: false, | |
pixelArt: true, | |
}, | |
callbacks: { | |
postBoot: () => { | |
window.sizeChanged(); | |
}, | |
}, | |
canvasStyle: `display: block; width: 100%; height: 100%;`, | |
autoFocus: true, | |
audio: { | |
disableWebAudio: false, | |
}, | |
scene: [LoadingScene, TownScene], | |
dom: { | |
createContainer: true, | |
}, | |
plugins: { | |
scene: [ | |
{ | |
key: "rexUI", | |
plugin: UIPlugin, | |
mapping: "rexUI", | |
}, | |
{ | |
key: "rexBoard", | |
plugin: BoardPlugin, | |
mapping: "rexBoard", | |
}, | |
], | |
}, | |
}; | |
window.sizeChanged = () => { | |
if (window.game.isBooted) { | |
setTimeout(() => { | |
window.game.scale.resize(window.innerWidth, window.innerHeight); | |
window.game.canvas.setAttribute( | |
"style", | |
`display: block; width: ${window.innerWidth}px; height: ${window.innerHeight}px;` | |
); | |
}, 100); | |
} | |
}; | |
window.onresize = () => window.sizeChanged(); | |
window.game = new Game(gameConfig); | |