减慢动画补间动画

时间:2015-09-15 23:01:01

标签: javascript animation createjs

我创建了一个函数,它将一个图形添加到画布舞台并通过补间动画它,等待几毫秒然后产生另一个

我可以通过一些帮助来做一些事情,

首先,我需要在他们以正常速度播放几秒钟之后将资产减速停止(我在道路中间设置动画线)

其次,当动画开始时,屏幕上什么都没有,因为它们是道路标记,必须在开始时显示

以及关于在动画完成后如何删除每个项目的任何想法

这是我到目前为止所拥有的

    //this is called from the tick handler
    function lines(){
    duration = 1000;
    spawnCounter--;
    console.log(spawnCounter)
    if(spawnCounter == 0){
    spawnCounter = sNum//20
    bolt = new lib.Bolt();
    bolt.x=280
    bolt.y = 120;
    bolt.rotation = -66;
    stage.addChild(bolt);
    createjs.Tween.get(bolt).to({x:0,y:0, scaleY:.6, scaleX:.6},duration)

            }
        }

1 个答案:

答案 0 :(得分:1)

删除补间末尾的项目非常简单:

createjs.Tween.get(bolt)
    .to({x:0,y:0, scaleY:.6, scaleX:.6}, duration)
    .call(function(event) {
        stage.removeChild(bolt);
    });

按照你的方式减慢整个动画可能会很棘手,因为你可能希望资产以相同的速率减速,所以你不能只改变补间的持续时间。您可能想要考虑不使用补间动画,而只是控制"可见"勾选中的项目,当它们走得太远时删除它们。

我创建了一个快速示例,展示了它是如何工作的。 http://jsfiddle.net/wj15awj4/

  • 在某个"距离"之后生成项目。已过了
  • 删除边缘以外的项目
  • 根据位置对项目进行缩放和alpha化。由于道路没有透视,因此规模有点奇怪。使用CSS或WebGL转换画布可以更好地解决这个问题。

当点击道路时,"速度"被下调(或备份),因为项目是根据多少"距离"尽管随着时间的推移变慢了,但它们将继续以大致相同的速度创建。

希望这有帮助!