我编写了一个HTML5游戏,我完全按照教程做,但我有一个错误“Uncaught TypeError:Object不是函数”。有人能帮我吗?

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

最佳答案

虽然在不知道更多关于设置参数的信息的情况下我不能肯定,但我猜可能与变量名有冲突。尝试将第三行更改为:

var anim = new Kinetic.Animation({

然后在fisherGroup mousedown上,调用anim.start();
如果使用扩展原型并使用动画的框架,则可能会导致问题。另外,如果动画设置为全局(不使用var声明),这也可能是一个问题。

10-07 14:03