Javascript 在浏览器上调整背景图像的大小';s调整大小
我正在使用EaselJs构建我的游戏,我想捕捉浏览器的onresize事件,以便调整舞台和它包含的所有图像的大小 我尝试过以下代码:Javascript 在浏览器上调整背景图像的大小';s调整大小,javascript,createjs,easeljs,Javascript,Createjs,Easeljs,我正在使用EaselJs构建我的游戏,我想捕捉浏览器的onresize事件,以便调整舞台和它包含的所有图像的大小 我尝试过以下代码: window.addEventListener('resize', resize, false); init() { createjs.Ticker.addEventListener('tick', handleTick); resize(); } function handleTick(event) { stage.update(); }
window.addEventListener('resize', resize, false);
init() {
createjs.Ticker.addEventListener('tick', handleTick);
resize();
}
function handleTick(event) {
stage.update();
}
function resize() {
stage.canvas.width = window.innerWidth;
stage.canvas.height = window.innerHeight;
}
但它没有真正起作用…有什么想法吗
谢谢。据我所知,如果使用相对单位(例如100%)设置画布宽度,画布应自动保持其比例。显然,子元素也应该是相对的,以实现流畅的布局 如果希望使用javascript获得相同的结果,则应使用正确的事件侦听器
window.onresize
据我所知,如果使用相对单位(例如100%)设置画布宽度,画布应自动保持其比率。显然,子元素也应该是相对的,以实现流畅的布局 如果希望使用javascript获得相同的结果,则应使用正确的事件侦听器
window.onresize
如果使用JavaScript调整画布内容的大小,则会向画布元素添加更多像素。内容将不会调整大小以适应
canvas.width = window.innerWidth;
如果您使用CSS调整大小,那么您正在变换元素,使其具有相同的像素数,但会被拉伸
canvas.style.width = window.innerWith;
如果要缩放内容以适应更多像素,则需要缩放舞台,或者更好地将内容放在容器中并缩放
这是我为回答一个类似问题而制作的一个快速示例,应该可以帮助您开始
如果使用JavaScript调整画布内容的大小,则会向画布元素添加更多像素。内容将不会调整大小以适应
canvas.width = window.innerWidth;
如果您使用CSS调整大小,那么您正在变换元素,使其具有相同的像素数,但会被拉伸
canvas.style.width = window.innerWith;
如果要缩放内容以适应更多像素,则需要缩放舞台,或者更好地将内容放在容器中并缩放
这是我为回答一个类似问题而制作的一个快速示例,应该可以帮助您开始
我捕获“onresize”浏览器事件没有问题,当我捕获该事件并为舞台设置新的宽度和高度时-实际上什么都没有发生…尝试检查开发人员工具控制台,是否看到任何错误?stage.canvas是否返回未定义的?否,控制台中没有错误。如果我没弄错的话,resize函数会给画布一个新的宽度和高度,并更新stage,它会自动调整stage上所有元素的大小,对吗?顺便问一下,为什么我们需要tick事件?我们可以将stage.update()放在resize方法中,不是吗?我捕获“onresize”浏览器事件没有问题,当我捕获该事件并为stage设置新的宽度和高度时-实际上什么都没有发生…尝试检查开发人员工具控制台,您看到任何错误吗?stage.canvas是否返回未定义的?否,控制台中没有错误。如果我没弄错的话,resize函数会给画布一个新的宽度和高度,并更新stage,它会自动调整stage上所有元素的大小,对吗?顺便问一下,为什么我们需要tick事件?我们可以把stage.update()放在resize方法中,不是吗?你的例子和解释真的帮助了我!!非常感谢:-)你的例子和解释真的帮助了我!!非常感谢:-)