2012-02-06 106 views
1

我正在開發一個基於HTML5 canvas的迷你遊戲,我似乎無法組織線性動畫。使用KineticJS的HTML5 Canvas上的線性動畫。如何製作?

我使用這個代碼添加一個「目標」對象到畫布:

var target = new Kinetic.Shape(function(){ 
    var context = this.getContext(); 
    context.drawImage(images.target, x, y, 2*radius, 2*radius); 
    context.beginPath(); 
    context.rect(x, y, 2*radius, 2*radius); 
    context.closePath(); 
}); 
gameLayer.add(target); 

我需要線性動畫動畫這個對象,試圖驗證碼:

var mx = x; 
setInterval(function(){ 
    mx -= 1; 
    target.setPosition(mx, y); 
    gameLayer.draw(); 
}, 500); 

但是,它沒有工作!哪裏不對?

回答

0

他們有一個動畫功能。所以,你可以

var myAnimationName = new Kinetic.Animation(function (frame) { 
    console.log(frame.time); 
    target.setX(target.getX() + 1); 
    if (target.getX() < somePosition) { 
     target.setX(somePosition); 
     this.stop(); 
    } 
}, layer); 
myAnimationName.start(); 

您還可以使用frame.time如果需要