tweenData.end should be seeded with the start value, not the current one, or relative tweens break upon repeat.

This commit is contained in:
Richard Davey 2017-11-03 18:48:16 +00:00
parent 0d38e232e6
commit 6d8afe94cb

View file

@ -33,6 +33,8 @@ var SetStateFromEnd = function (tween, tweenData, diff)
onYoyo.func.apply(onYoyo.scope, onYoyo.params);
}
// console.log('SetStateFromEnd-a', tweenData.start, tweenData.end);
tweenData.start = tweenData.getStartValue(tweenData.target, tweenData.key, tweenData.start);
return TWEEN_CONST.PLAYING_BACKWARD;
@ -71,9 +73,11 @@ var SetStateFromEnd = function (tween, tweenData, diff)
onRepeat.func.apply(onRepeat.scope, onRepeat.params);
}
// console.log('SetStateFromEnd-b', tweenData.start, tweenData.end);
tweenData.start = tweenData.getStartValue(tweenData.target, tweenData.key, tweenData.start);
tweenData.end = tweenData.getEndValue(tweenData.target, tweenData.key, tweenData.end);
tweenData.end = tweenData.getEndValue(tweenData.target, tweenData.key, tweenData.start);
// Delay?
if (tweenData.repeatDelay > 0)
@ -129,7 +133,9 @@ var SetStateFromStart = function (tween, tweenData, diff)
onRepeat.func.apply(onRepeat.scope, onRepeat.params);
}
tweenData.end = tweenData.getEndValue(tweenData.target, tweenData.key, tweenData.end);
// console.log('SetStateFromStart', tweenData.start, tweenData.end);
tweenData.end = tweenData.getEndValue(tweenData.target, tweenData.key, tweenData.start);
// Delay?
if (tweenData.repeatDelay > 0)