2016-09-09 1 views
0

Итак, у меня есть большой стек объектов easel.js, которые хранятся в массиве.Цепочки твинов в Tween.js для нескольких объектов

Я хотел бы связать набор твинов для каждого объекта, тогда, когда каждая цепочка твинов заканчивается, сбросьте свойства твинов и идите снова. Это то, что я получил до сих пор:

function setObjectTween(tgt){ 
     createjs.Tween.get(tgt, { loop: false }) 
      .to({ x: randomOnStage("x", constraint[0],constraint[1]) }, randomInRange(100,1000), createjs.Ease.getPowOut(4)) 
      .to({ y: randomOnStage("y", constraint[0],constraint[1]) }, randomInRange(100,1000), createjs.Ease.getPowOut(4)) 
      .call(resetTween); 

    } 

    function resetTween(e){ 
     createjs.Tween.removeAllTweens(e.target); 
     setObjectTween(e.target); 
    } 

Проблема заключается в том, что resetTween кажется, чтобы остановить анимацию всех клипов одновременно. Я думал, что создание каждого объекта с такой анимацией:

for(i=0;i<objpool1.length;i++){setObjectTween(objpool[i]);} 

будет поддерживать независимую независимость каждого объекта. Когда он дойдет до конца, он вызовет функцию сброса, которая удалит анимацию только для этого объекта, а затем снова запустит настройку снова для этого объекта, снова отменив твин с новыми случайными значениями.

Любые идеи, почему сброс, кажется, влияет только на последний объект в массиве вместо самостоятельной работы для каждого объекта (nb, все объекты массива работают в первый раз, но сброс, кажется, сбрасывает все из них, а затем впоследствии работает только на последнем объекте в массиве).

веселит, A .:

Е2А: сортируется. Ошибка чтения документации. Спасибо за ответ ниже! : o)

ответ

1

Методы removeAllTweens не принимает никаких параметров. Случается, что вы убиваете каждые твин (предотвращая последующие вызовы resetTween другими твинами), и только первая анимация, заканчивающаяся, перезагружается.

Вместо этого следует изменить его на removeTweens.

function resetTween(e){ 
    createjs.Tween.removeTweens(e.target); 
    setObjectTween(e.target); 
} 

Вот скрипка: http://jsfiddle.net/6d9bckb4/

Смежные вопросы