假设我对画布上的每个元素应用补间
elements.each(function (element) {
new Kinetic.Tween({
node: element,
rotationDeg: 180
}).play();
});
所有项目都已补间,并已从其原始状态传递到最终状态。我的问题是:我将如何应用 reverse() 将每个项目恢复到原始状态?
假设我对画布上的每个元素应用补间
elements.each(function (element) {
new Kinetic.Tween({
node: element,
rotationDeg: 180
}).play();
});
所有项目都已补间,并已从其原始状态传递到最终状态。我的问题是:我将如何应用 reverse() 将每个项目恢复到原始状态?
将补间存储在一个数组中,然后遍历该数组并使用.reverse()
elements = stage.get('Rect');
var tweenArray = [];
// reverse tween
document.getElementById('reverse').addEventListener('click', function () {
for (var i=0; i<tweenArray.length; i++) {
tweenArray[i].reverse();
}
}, false);
// play tween forward
document.getElementById('play').addEventListener('click', function () {
elements.each(function (element) {
var tween = new Kinetic.Tween({
node: element,
rotationDeg: 180
}).play();
tweenArray.push(tween);
});
}, false);