如何判断Canvas动画何时结束

时间:2015-10-05 14:15:17

标签: javascript loops canvas

我试图告诉Canvas动画的每个部分何时结束,以便我可以重新加载它。

每个“pod”应该到达其第一个旅程的末尾,然后转到下一个可用站点中的随机站点,然后在无限循环(或非常长的循环)中再次执行。

现在找到下一站的代码可以正常工作,但是我无法获得每个单独pod的动画结束的触发器。

时我知道
 aPod.currentPoint + 1 == aPod.points.length - 1

pod已到达目的地站,但没有任何事情发生。

在这里小提琴:https://jsfiddle.net/f9nob149/1/

我一直在抨击我的头一个星期,真的需要帮助!

1 个答案:

答案 0 :(得分:2)

您似乎只需检查currentPoint何时是广告管理系统points的最后一点。

Here is a jsfiddle我创建了doneCallback。我还必须添加done pod属性,以便多次调用它。

顺便说一下,这太糟糕了,并没有按我认为的那样做:

new Pod(
  startX = fromX,
  startY = fromY,
  endX = toX,
  endY = toY,
  riders = randomPass(),
  color = colorArray[riders - 1],
  points = linePoints({
    startX, startY
  }, {
     endX, endY
  }),
  currentPoint = 0)

JavaScript不支持命名参数,例如python。这样做,是将=右侧的所有值分配给在全局范围内创建的新变量(因为它们是在没有var的情况下声明的),然后将这些值转发给{{1构造函数按顺序(而不是您可能认为的名称)。还有一些浏览器会拒绝它(即Safari),并且在Pod模式下不允许(我认为也不允许使用下一个javascript版本(ES6))。

然而,您可以使用objet作为参数:

strict