动态更改Phaser中的游戏大小

时间:2015-09-25 12:43:39

标签: resize size scaling phaser-framework states

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

我试过了:

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

  //rest of creation code...
}

我还尝试过改变相机范围,世界范围,世界大小等事情,但上面的方法显示了最大的希望。

然而,问题是,在我点击浏览器标签并返回之前,由于某种原因调整大小不会显示。在控制台中调用game.width会始终产生700,但它不会显示出来直到显示和退出。

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

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:5)

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

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

game.scale.setGameSize(700, 450);.

(如果您需要更多信息,请参阅this发布信息)

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