2016-02-04 54 views
0

我使用Easel JS来开发基于Canvas的纸牌游戏。EaselJS更改了画布高度。如何避免这种情况?

TODO:设置画布高度并绘制其中的所有元素。

Issue: EaselJS自动更改画布高度。

参考文献:

Screenshot showing height of canvas in the browser

Height I've set for canvas in code.

如何设置高度:

 var gameBoard = document.getElementById("board"); 

    gameBoard.style.height = window.innerHeight+"px"; 
    gameBoard.height = gameBoard.offsetHeight; 
    gameBoard.style.height = "auto"; 

回答

0

不知道你的目标是什么,这很难说是什么问题正是......但是,将CSS“canvas.style.height”属性设置为“auto”似乎是问题所在。宽度和高度属性(不是CSS)仍然是您最初设置的属性(1300 x 501)。

删除这一行,您将在页面加载时留下一个与窗口大小相对应的画布。

gameBoard.style.height = "auto"; 

如果你想因为有在窗口画布有尽可能多的像素,您将需要监听“调整大小”事件并应用值回你的画布。

window.addEventListener("resize", function(){ 
    canvas.width = window.innerWidth; 
    canvas.height = window.innerHeight; 
}); 
+0

此外,请注意,EaselJS从不设置画布的大小,只有一个例外是从Flash/Animate CC导出时 - 生成的HTML具有FLA阶段大小。如果你明白它会做什么,我只会推荐使用CSS进行缩放,因为它缩放了像素,而不是改变尺寸。 @反向“建议直接在画布上设置宽度/高度是比较理想的。 – Lanny

相关问题