mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-06 07:14:55 +08:00
Fixed bugs with timeScale.
This commit is contained in:
parent
ba60fb99bd
commit
b854dd94c3
@ -86,19 +86,20 @@ void AnimationState_dispose (AnimationState* self) {
|
||||
|
||||
void AnimationState_update (AnimationState* self, float delta) {
|
||||
int i;
|
||||
float time, endTime;
|
||||
float time, endTime, trackDelta;
|
||||
delta *= self->timeScale;
|
||||
for (i = 0; i < self->trackCount; i++) {
|
||||
TrackEntry* current = self->tracks[i];
|
||||
if (!current) continue;
|
||||
|
||||
delta *= self->timeScale * current->timeScale;
|
||||
time = current->time + delta;
|
||||
trackDelta = delta * current->timeScale;
|
||||
time = current->time + trackDelta;
|
||||
endTime = current->endTime;
|
||||
|
||||
current->time = time;
|
||||
if (current->previous) {
|
||||
current->previous->time += delta;
|
||||
current->mixTime += delta;
|
||||
current->previous->time += trackDelta;
|
||||
current->mixTime += trackDelta;
|
||||
}
|
||||
|
||||
/* Check if completed the animation or a loop iteration. */
|
||||
|
||||
@ -56,18 +56,19 @@ namespace Spine {
|
||||
}
|
||||
|
||||
public void Update (float delta) {
|
||||
delta *= timeScale;
|
||||
for (int i = 0, n = tracks.Count; i < n; i++) {
|
||||
TrackEntry current = tracks[i];
|
||||
if (current == null) continue;
|
||||
|
||||
delta *= timeScale * current.timeScale;
|
||||
float time = current.time + delta;
|
||||
float trackDelta = delta * current.timeScale;
|
||||
float time = current.time + trackDelta;
|
||||
float endTime = current.endTime;
|
||||
|
||||
current.time = time;
|
||||
if (current.previous != null) {
|
||||
current.previous.time += delta;
|
||||
current.mixTime += delta;
|
||||
current.previous.time += trackDelta;
|
||||
current.mixTime += trackDelta;
|
||||
}
|
||||
|
||||
// Check if completed the animation or a loop iteration.
|
||||
|
||||
@ -51,18 +51,19 @@ public class AnimationState {
|
||||
}
|
||||
|
||||
public void update (float delta) {
|
||||
delta *= timeScale;
|
||||
for (int i = 0, n = tracks.size; i < n; i++) {
|
||||
TrackEntry current = tracks.get(i);
|
||||
if (current == null) continue;
|
||||
|
||||
delta *= timeScale * current.timeScale;
|
||||
float time = current.time + delta;
|
||||
float trackDelta = delta * current.timeScale;
|
||||
float time = current.time + trackDelta;
|
||||
float endTime = current.endTime;
|
||||
|
||||
current.time = time;
|
||||
if (current.previous != null) {
|
||||
current.previous.time += delta;
|
||||
current.mixTime += delta;
|
||||
current.previous.time += trackDelta;
|
||||
current.mixTime += trackDelta;
|
||||
}
|
||||
|
||||
// Check if completed the animation or a loop iteration.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user