【发布时间】:2016-09-26 22:48:56
【问题描述】:
我正在使用 JavaScript 开发一个多网页游戏。我的画布当前设置为屏幕的宽度和高度。
html
<canvas id = "canvas"></canvas>
javascript
var c=document.getElementById("canvas");
var ctx = c.getContext("2d");
//Making canvas scale;
c.width = window.innerWidth;
c.height = window.innerHeight;
function resize(){
//Add some code
}
我的问题是,我不希望我的玩家缩小,默认情况下也不是。它会让游戏看起来很糟糕,并让玩家比其他人更有优势。所以我需要在 resize 方法中添加一些代码,无论比例如何,画布都不会被缩小。如果最终结果在 300%+ 时有些模糊,那很好。
重要提示:resize 功能无法移除画布或将画布重置为默认值。
【问题讨论】:
-
我怎么知道缩放级别是多少?这篇文章是我仅有的一篇,有点过时了:stackoverflow.com/questions/1713771/…。是否有任何构建在 Javascript 中的方法而不是跨浏览器工作
-
几乎不可能跨浏览器检测缩放比例,除非有人能纠正我。
-
如果我不知道缩放,是否有另一种聪明的方法可以让我获得缩放画布的因素。
-
不要使用动态画布大小,而是将其设为静态,并使用我链接的函数对其进行缩放。如果你想要它全屏,
ctx.scale(window.innerWidth/staticCanvasWidth, window.innerHeight/staticCanvasHeight);其中staticCanvasWidth和staticCanvasHeight是你刚刚设置的画布的静态宽度/高度
标签: javascript canvas html5-canvas