UNPKG

phaser3-rex-plugins

Version:
62 lines (46 loc) 1.58 kB
const Rectangle = Phaser.GameObjects.Rectangle; class FullWindowRectangle extends Rectangle { constructor(scene, color, alpha) { super(scene, 0, 0, 2, 2, color, 1); this.setAlpha(alpha) this.setScrollFactor(0); this.boot(); } boot() { var scene = this.scene; scene.sys.events.on('prerender', this.resize, this); } destroy(fromScene) { // preDestroy method does not have fromScene parameter // This Game Object has already been destroyed if (!this.scene || this.ignoreDestroy) { return; } this.scene.sys.events.off('prerender', this.resize, this); super.destroy(fromScene); } get tint() { return this.fillColor; } set tint(value) { this.setFillStyle(value, this.fillAlpha); } resize() { var scene = this.scene; var gameSize = scene.sys.scale.gameSize; var camera = scene.sys.cameras.main; var gameWidth = gameSize.width, gameHeight = gameSize.height, scale = 1 / camera.zoom; var x = gameWidth / 2, y = gameHeight / 2, width = gameWidth * scale, height = gameHeight * scale; if ((this.x !== x) || (this.y !== y)) { this.setPosition(x, y); } if ((this.width !== width) || (this.height !== height)) { this.setSize(width, height).setOrigin(0.5); } } } export default FullWindowRectangle;