2013-03-22 112 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()); 

现在我可以告诉大家的欢呼声;)

相关问题