我编写了一个HTML5游戏,我完全按照教程进行操作,但我收到错误“Uncaught TypeError:Object is not function”。有人可以帮帮我吗?
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 :(得分:0)
虽然如果我不了解更多有关您的设置参数的信息,我会不肯定,但我猜您的变量名称可能存在冲突。尝试将第三行更改为:
var anim = new Kinetic.Animation({
然后在fisherGroup mousedown上,请致电anim.start();
如果您使用的是扩展原型并使用动画的框架,则可能会导致问题。此外,如果您将动画设置为全局(未使用var声明),那么这也可能是一个问题。
答案 1 :(得分:0)
这与教程完全不同,将其更改为:
var animation = new Kinetic.Animation({function (frame) {
hook.setY(amplitude * Math.sin(frame.time * 2 * Math.PI / period));
hook.setX(fisherGroup.getX());
},
shapesLayer
});