2016-02-04 48 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

相關問題