所以我在调整窗口大小时调整舞台(画布)的大小。虽然画布本身正确地重新调整,但画布的内容并不是真正的缩放,在某些情况下,某些元素(例如:文本,按钮等)并不完全可见。
这是代码
stage = new Stage(document.getElementById("canvas"));
window.addEventListener('resize',resize,false);
function resize() {
var w = window.innerWidth;
var h = window.innerHeight;
var ow = stage.canvas.width;
var oh = stage.canvas.height;
// keep aspect ratio
scale = Math.min(w / ow, h / oh);
stage.scaleX = scale;
stage.scaleY = scale;
// adjust canvas size
stage.width = ow * scale;
stage.height = oh * scale;
stage.update();
}
我有什么遗失的吗?
答案 0 :(得分:0)
一些简单的事情:
您无法设置舞台的宽度/高度,而应设置画布的大小。除非您尝试裁剪内容,否则您也不需要 来约束其宽高比。
stage.width = ow * scale;
stage.height = oh * scale;
接下来,您可以考虑将您的内容放在Container中,然后直接缩放,而不是直接缩放。
希望有所帮助!