2016-02-04 3 views
0

Я использую Easel JS для разработки пасьянса на холсте.Высота холста изменена с помощью EaselJS. Как этого избежать?

TODO: Установить высоту для холста и нарисовать все элементы внутри этого.

выпуск: 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

Не зная, что ваши цели, это трудно сказать, что в проблема в точности ... но se Кажется, проблема заключается в том, что свойство CSS canvas.style.height CSS для «авто» кажется проблемой. Свойства ширины и высоты (а не 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, если вы понимаете, что он будет делать, поскольку он масштабирует пиксели вместо изменения размеров. @inverse 'предположение, что ширина/высота на холсте напрямую более желательна. – Lanny