فهرست منبع

Merge remote-tracking branch 'origin/master'

NathanSweet 8 سال پیش
والد
کامیت
abc75a50e8
1فایلهای تغییر یافته به همراه6 افزوده شده و 7 حذف شده
  1. 6 7
      spine-csharp/src/AnimationState.cs

+ 6 - 7
spine-csharp/src/AnimationState.cs

@@ -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) {