在Phaser中禁用自动调整大小

时间:2016-04-23 14:16:13

标签: javascript html5 canvas phaser-framework

我正在与Phaser一起创建一个响应式游戏。宽度固定为360,高度计算为拟合比率。

var height = (360 * screen.height) / screen.width;
var game = new Phaser.Game(360, ratio, Phaser.AUTO, "", {preload: preload, create: create, update: update});

在create()函数中,我将其大小调整为100%,因此屏幕已填满:

function create () {
   document.querySelector("canvas").style.width = "100%";
   document.querySelector("canvas").style.height = "100%";
   // more stuff...
}

但是,如果我现在单击或执行任何操作,画布将调整大小调整为360x高度。我怎么能禁用它?

由于

1 个答案:

答案 0 :(得分:0)

Phaser实际上能够将游戏/画布缩放到内置窗口的宽度或高度。

请尝试使用ScaleManager。在您的情况下可能是SHOW_ALL,并且可以在您的启动状态中设置(意味着在代码的早期):

this.scale.scaleMode = Phaser.ScaleManager.SHOW_ALL;

您可以在this tutorial on Statethe official example中看到这方面的示例。