2012-02-06 13 views
1

私はHTML5のキャンバスベースのミニゲームを開発しており、リニアアニメーションを整理することはできません。KineticJSを使用したHTML5キャンバスでの線形アニメーション。作成方法

私はキャンバスに、「ターゲット」オブジェクトを追加するため、このコードを使用しています:、

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

しかし:私はこのコードをしようと、リニアアニメーションでこのオブジェクトをアニメーション化する必要が

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); 

それは動作しませんでした!なにが問題ですか?

答えて

0

:あなたはで詳細を見ることができます

var mx = x; 
var my = target.y; 
target.transitionTo({ 
    x: mx, 
    y: my, 
    rotation: 0, 
    scale: {x: 1, y: 1}, 
    duration: 1, //time to transition in second 
}); 

を必要に応じて、だからあなたは

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を使用することができますすることができます