mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
[c] Fix for #1064, delay was calculated incorrectly for non-loop previous track entries.
This commit is contained in:
parent
b5e5d4aabb
commit
095424ee98
@ -720,9 +720,14 @@ spTrackEntry* spAnimationState_addAnimation (spAnimationState* self, int trackIn
|
|||||||
last->next = entry;
|
last->next = entry;
|
||||||
if (delay <= 0) {
|
if (delay <= 0) {
|
||||||
float duration = last->animationEnd - last->animationStart;
|
float duration = last->animationEnd - last->animationStart;
|
||||||
if (duration != 0)
|
if (duration != 0) {
|
||||||
delay += duration * (1 + (int)(last->trackTime / duration)) - spAnimationStateData_getMix(self->data, last->animation, animation);
|
if (last->loop) {
|
||||||
else
|
delay += duration * (1 + (int) (last->trackTime / duration));
|
||||||
|
} else {
|
||||||
|
delay += duration;
|
||||||
|
}
|
||||||
|
delay -= spAnimationStateData_getMix(self->data, last->animation, animation);
|
||||||
|
} else
|
||||||
delay = 0;
|
delay = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user