Hello! i’m switching from phaser 2 to phaser 3 and I’m trying to dea with game resize gain. When I resize game canvas, canvas element resizes, but layer do not. If I refresh game everything goes ok.
Here is link to codepen to see it live.
Here is my similar question for phaser2. Here is function which I used to resize game and its layers in phaser 2:
onSizeChange: function () {
// fire the game resize event for the current state (make sure each state has this)
// this.game.state.callbackContext.resize();
// var height = $(window).height();
// var width = $(window).width();
var height = document.getElementById('rightside').clientHeight;
var width = document.getElementById('rightside').clientWidth;
// game = new Phaser.Game(window.innerWidth * window.devicePixelRatio, window.innerHeight * window.devicePixelRatio, Phaser.CANVAS, 'gameArea');
height = height / scalefactor;
width = width / scalefactor;
// var height = $(window).height();
// var width = $(window).width();
this.game.width = width;
this.game.height = height;
sinkLayer.resize(width, height);
blockLayer.resize(width, height);
sinkLayer.resize(width, height);
flour.resize(width, height);
this.upperLayer.resize(width, height);
this.game.scale.setGameSize(width, height);
this.game.stage.getBounds.width = width;
this.game.stage.getBounds.height = height;
if (this.game.renderType === Phaser.WEBGL) {
this.game.renderer.resize(width, height);
}
this.game.scale.refresh();
},