|
@@ -136,7 +136,7 @@ namespace Spine {
|
|
|
from.trackTime += delta * from.timeScale;
|
|
|
entry.mixTime += delta * entry.timeScale;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
|
|
|
/// <summary>
|
|
|
/// Poses the skeleton using the track entry animations. There are no side effects other than invoking listeners, so the
|
|
@@ -242,6 +242,9 @@ namespace Spine {
|
|
|
|
|
|
static private void ApplyRotateTimeline (RotateTimeline rotateTimeline, Skeleton skeleton, float time, float alpha, bool setupPose,
|
|
|
float[] timelinesRotation, int i, bool firstFrame) {
|
|
|
+
|
|
|
+ if (firstFrame) timelinesRotation[i] = 0;
|
|
|
+
|
|
|
if (alpha == 1) {
|
|
|
rotateTimeline.Apply(skeleton, 0, time, null, 1, setupPose, false);
|
|
|
return;
|
|
@@ -275,11 +278,7 @@ namespace Spine {
|
|
|
float r1 = setupPose ? bone.data.rotation : bone.rotation;
|
|
|
float total, diff = r2 - r1;
|
|
|
if (diff == 0) {
|
|
|
- if (firstFrame) {
|
|
|
- timelinesRotation[i] = 0;
|
|
|
- total = 0;
|
|
|
- } else
|
|
|
- total = timelinesRotation[i];
|
|
|
+ total = timelinesRotation[i];
|
|
|
} else {
|
|
|
diff -= (16384 - (int)(16384.499999999996 - diff / 360)) * 360;
|
|
|
float lastTotal, lastDiff;
|
|
@@ -505,7 +504,7 @@ namespace Spine {
|
|
|
entry.trackEnd = mixDuration;
|
|
|
return entry;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Sets an empty animation for every track, discarding any queued animations, and mixes to it over the specified mix duration.</summary>
|
|
|
public void SetEmptyAnimations (float mixDuration) {
|