动态更改Phaser中的游戏大小

Bar*_*t K 2 size scaling resize states phaser-framework

我正在构建一个游戏,我可以进入一个建筑物,我正在通过各州进行处理.换句话说,当我的角色与门重叠时,程序开始建立建筑物内部的新状态.现在,我希望内部的尺寸比世界更小,所以我想在开始这个新状态时改变游戏大小.

我试过这个:

create: function()
{
  //game size was 1000x700, I want to scale it to 700x450
  game.width = 700;
  game.height = 450;

  //rest of creation code...
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过改变相机范围,世界范围,世界大小等内容,但上面的方法显示了最大的希望.

但问题是,在我点击浏览器选项卡并返回之前,由于某种原因调整大小不会显示.在控制台中调用game.width始终会产生700,但是直到Tabs out和back才会显示它.

最重要的是,当游戏调整大小时,游戏内容(地板,家具)会缩小,从而无法实现目的.我不明白为什么会这样,因为我的代码中没有任何缩放.

任何帮助将不胜感激.

小智 6

编辑:我刚看到你是那个问我链接的问题的人,所以我想问题已经解决了:D


我前段时间遇到过类似的问题.正如你所描述的那样:你正在做的是调整大小!因此游戏调整自身大小,这意味着重新缩放游戏中的所有内容.如果你想缩小游戏,你可以简单地使用

game.scale.setGameSize(700, 450);.
Run Code Online (Sandbox Code Playgroud)

(如果您需要更多信息,请参阅帖子)

作为附加信息:我后来在所有方面同样削减游戏大小的问题,所以如果你应该面对同样的问题,看看这篇文章