2012-11-09 56 views
2

Iam編寫HTML5遊戲,我完全按照教程進行,但出現錯誤「Uncaught TypeError:Object不是函數」。任何人都可以幫助我?使用HTML5中的KineticJS動畫:未捕獲的typeError:對象不是函數

var amplitude = 150; 
    var period = 2000; 
    animation = new Kinetic.Animation({ 
     // ERROR APPEARS HERE 
     func: function (frame) 
     { 
     hook.setY(amplitude * Math.sin(frame.time * 2 * Math.PI/period)); 
     hook.setX(fisherGroup.getX()); 
     }, 
     node: shapesLayer 
    }); 
    fisherGroup.on("mousedown", function(){ 
    animation.start(); 
    }); 

我創建:hook = new Kinetic.Image()fisherGroup = new Kinetic.Group()本款以上。

+0

是FUNC:之前有必要的功能?爲什麼這會讓我覺得不正確? – Brant

回答

0

雖然如果不知道更多關於設置參數的信息,我並不樂觀,但我猜測可能與您的變量名稱有衝突。嘗試改變第三行:

var anim = new Kinetic.Animation({ 

然後在fisherGroup鼠標按下,調用anim.start();

如果您使用的框架,擴展原型,並使用動畫,可能引起的問題。另外,如果您將動畫設置爲全局(未用var聲明),那也可能是一個問題。

0

這是不完全一樣的教程,將其更改爲:

var animation = new Kinetic.Animation({function (frame) { 
     hook.setY(amplitude * Math.sin(frame.time * 2 * Math.PI/period)); 
     hook.setX(fisherGroup.getX()); 
    }, 
    shapesLayer 
}); 
相關問題