2013-03-22 102 views
3

我正在使用EaselJS在畫布中創建動畫背景。我很奇怪,爲什麼我的精靈正在爲很快就爬上我把我的畫布窗口的大小... 的圖像正在尋找streched ...爲什麼easelJS縮放我的精靈?

$(「身體」)。追加(」 「); $('#backgroundCanvas')。height($(window).height()); $('#backgroundCanvas')。width($(window).width());


var sprite = new createjs.SpriteSheet({ 
      "animations": 
      { 
       "run": [0, 6, "run", frequency]}, 
       "images": [url], 
       "frames": 
        { 
         "height": height, 
         "width":width, 
         "regX": 0, 
         "regY": 0, 
         "count": count 
        } 
      }); 
        var item = new createjs.BitmapAnimation(sprite);  
        item.height = height;  
        item.width = width;    
        //item.scale = item.scaleY = item.scaleX= 0.5; 
        item.x = positionX;   
        item.y = positionY; 
        item.dirX = 1; 
        item.dirY = 1;  
        item.vX = 4;    
        item.vY = 4; 


        item.gotoAndPlay("run"); 

        stage.addChild(item); 
+0

你可以發佈你的代碼或鏈接到你的問題? – olsn 2013-03-22 18:43:08

+0

您的原始帆布尺寸是否與窗戶成比例? – markE 2013-03-22 21:18:25

回答

3

當您縮放與CSS畫布,它會縮放內容,因爲它的像素數相同的。使用JavaScript進行縮放(設置寬度和高度屬性),它會更改像素數量,並且不會拉伸您的內容。

乾杯。

+0

但它的尺寸是用jquery設置的..我甚至不得不用js添加畫布。 – manomoul 2013-03-23 14:37:13

+0

jQuery width()和height()方法將使用CSS來設置大小,而不是JavaScript。您需要直接定位畫布,並使用JavaScript設置寬度/高度。在此主題中@fareed發佈了一個使用jQuery的解決方案。 – Lanny 2014-05-09 15:45:09

2

,重要的是知道畫布對象從HTML ATTR寬度和高度得到它的寬度和高度改變寬度和高度的CSS只會縮放畫布對象

,所以你有2個解決方案: 使用本HTML

<canvas id="backgroundCanvas" width="968" height="358"></canvas> 

或更改代碼:

$('#backgroundCanvas').attr("height",$(window).height()); 
$('#backgroundCanvas').attr("width",$(window).width()); 

現在我可以告訴大家的歡呼聲;)