簡體   English   中英

CreateJS:舞台或畫布中的元素在調整窗口大小時無法正確縮放

[英]CreateJS: Elements in Stage or Canvas are not scaling properly on window resize

因此,我在調整窗口大小時正在調整舞台(畫布)的大小。 盡管畫布本身正確地進行了調整,但是畫布的內容並沒有真正縮放,在某些情況下,某些元素(例如:文本,按鈕等)並不完全可見。

這是代碼

stage = new Stage(document.getElementById("canvas"));

window.addEventListener('resize',resize,false);

function resize() {
  var w = window.innerWidth;
  var h = window.innerHeight;
  var ow = stage.canvas.width;
  var oh = stage.canvas.height;

  // keep aspect ratio
  scale = Math.min(w / ow, h / oh);
  stage.scaleX = scale;
  stage.scaleY = scale;

  // adjust canvas size
  stage.width = ow * scale;
  stage.height = oh * scale;

  stage.update();
}

我有什么想念的嗎?

一些快速的事情:

您不能設置舞台的寬度/高度,而應該設置畫布的尺寸。 除非您嘗試裁剪內容,否則您也不需要限制其長寬比。

stage.width = ow * scale;
stage.height = oh * scale;

接下來,您可以考慮將內容放入容器中並對其進行縮放,而不是直接擴展。

希望有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM