我正在与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高度。我怎么能禁用它?
由于
答案 0 :(得分:0)
Phaser实际上能够将游戏/画布缩放到内置窗口的宽度或高度。
请尝试使用ScaleManager。在您的情况下可能是SHOW_ALL
,并且可以在您的启动状态中设置(意味着在代码的早期):
this.scale.scaleMode = Phaser.ScaleManager.SHOW_ALL;
您可以在this tutorial on State和the official example中看到这方面的示例。