ScaleManager 游戏缩放管理

# ScaleManager 游戏缩放管理

创建一个新的 ScaleManager 对象 -- 这是由 Phaser.Game 自动完成的。

构造函数的宽度和高度参数可以是一个代表像素的数字,也可以是一个代表百分比的字符串:例如 800(代表 800 像素)或 "80%"代表 80%。

new ScaleManager(game, width, height);

# 属性

# scaleMode

scaleMode 有几个不同的选项来指定 Canvas 应该如何缩放:

NO_SCALE — 不进行任何缩放。 EXACT_FIT — 拉伸,填充屏幕,不保留长宽比。 SHOW_ALL — 等比缩放,填充屏幕,保留长宽比,剩余空间用黑色填充。 RESIZE — 动态,每次都会根据屏幕生成画布,所以你需要在游戏运行时动态的放置游戏元素。这是一种进阶的模式。 USER_SCALE — 自定义,允许您自己计算大小和比例。这也是一种进阶的模式。

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

# pageAlignHorizontally

启用后,显示画布将在父容器(或窗口)中水平对齐。

要在整个页面上水平对齐,显示画布应直接添加到页面上。 或者父容器本身应该是水平对齐的。

水平对齐不适用于 RESIZE 缩放模式。

// 水平居中画布,所以它始终以屏幕为中心,无论大小如何
game.scale.pageAlignHorizontally = true;

# pageAlignVertically

启用后,显示画布将在父容器(或窗口)中垂直对齐。

要垂直对齐,Parent 元素应该有一个不可折叠的高度,这样它就能保持 的高度大于所包含的游戏画布的高度--然后游戏画布将被垂直缩放到 在父元素所决定的剩余可用高度内垂直缩放。

防止父元素崩溃的一个方法是为父元素添加一个绝对的 "最小高度 "CSS 属性。 如果指定一个相对的 "最小高度/高度 "或调整边距,父元素的高度仍然必须是不可折叠的(见注释)。

注意:在 2.2 版本中,最小文档高度不会自动设置为视口/窗口高度。 要自动更新最小文档高度,请将 compatibility.forceMinimumDocumentHeight 设置为 true。

垂直对齐不适用于 RESIZE 缩放模式。

// 垂直居中画布,所以它始终以屏幕为中心,无论大小如何
game.scale.pageAlignVertically = true;

# 方法