mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-06 23:34:53 +08:00
[as3] Ported 0 timeScale fix, see #1194.
This commit is contained in:
parent
03e578642c
commit
ed7b4eaaea
Binary file not shown.
@ -135,7 +135,7 @@ package spine.animation {
|
||||
from.trackLast = from.nextTrackLast;
|
||||
|
||||
// Require mixTime > 0 to ensure the mixing from entry was applied at least once.
|
||||
if (to.mixTime > 0 && (to.mixTime >= to.mixDuration || to.timeScale == 0)) {
|
||||
if (to.mixTime > 0 && to.mixTime >= to.mixDuration) {
|
||||
// Require totalAlpha == 0 to ensure mixing is complete, unless mixDuration == 0 (the transition is a single frame).
|
||||
if (from.totalAlpha == 0 || to.mixDuration == 0) {
|
||||
to.mixingFrom = from.mixingFrom;
|
||||
@ -145,6 +145,13 @@ package spine.animation {
|
||||
}
|
||||
return finished;
|
||||
}
|
||||
|
||||
// If to has 0 timeScale and is not the first entry, remove the mix and apply it one more time to return to the setup pose.
|
||||
if (to.timeScale == 0 && to.mixingTo != null) {
|
||||
to.timeScale = 1;
|
||||
to.mixTime = 0;
|
||||
to.mixDuration = 0;
|
||||
}
|
||||
|
||||
from.trackTime += delta * from.timeScale;
|
||||
to.mixTime += delta * to.timeScale;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user