mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 01:36:02 +08:00
Fixed AnimationState mixing.
This commit is contained in:
parent
b6cf39665d
commit
5b2dfe3311
@ -114,6 +114,7 @@ void AnimationState_update (AnimationState* self, float delta) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AnimationState_apply (AnimationState* self, Skeleton* skeleton) {
|
||||
_AnimationState* internal = SUB_CAST(_AnimationState, self);
|
||||
|
||||
@ -132,14 +133,14 @@ void AnimationState_apply (AnimationState* self, Skeleton* skeleton) {
|
||||
&eventCount);
|
||||
} else {
|
||||
float alpha = current->mixTime / current->mixDuration;
|
||||
Animation_apply(previous->animation, skeleton, (float)INT_MAX, previous->time, previous->loop, internal->events, &eventCount);
|
||||
Animation_apply(previous->animation, skeleton, (float)INT_MAX, previous->time, previous->loop, 0, 0);
|
||||
if (alpha >= 1) {
|
||||
alpha = 1;
|
||||
_TrackEntry_dispose(current->previous);
|
||||
current->previous = 0;
|
||||
}
|
||||
Animation_apply(current->animation, skeleton, current->lastTime, current->time, current->loop, internal->events,
|
||||
&eventCount);
|
||||
Animation_mix(current->animation, skeleton, current->lastTime, current->time, current->loop, internal->events,
|
||||
&eventCount, alpha);
|
||||
}
|
||||
|
||||
for (ii = 0; ii < eventCount; ii++) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user