Selaa lähdekoodia

[as3] SkeletonJson curve timeline parsing was incorrect. Closes #1382.

badlogic 6 vuotta sitten
vanhempi
commit
277d2f28f7
1 muutettua tiedostoa jossa 7 lisäystä ja 2 poistoa
  1. 7 2
      spine-as3/spine-as3/src/spine/SkeletonJson.as

+ 7 - 2
spine-as3/spine-as3/src/spine/SkeletonJson.as

@@ -68,6 +68,11 @@ package spine {
 		public function SkeletonJson(attachmentLoader : AttachmentLoader = null) {
 			this.attachmentLoader = attachmentLoader;
 		}
+		
+		private function getFloatValue(object : Object, key: String, defaultValue : Number) : Number {;
+			var hasKey : Boolean = object.hasOwnProperty(key);
+			return hasKey ? Number(object[key]) : defaultValue;
+		}
 
 		/** @param object A String or ByteArray. */
 		public function readSkeletonData(object : *, name : String = null) : SkeletonData {
@@ -558,8 +563,8 @@ package spine {
 
 						frameIndex = 0;
 						for each (valueMap in values) {
-							var x : Number = Number(valueMap["x"] || defaultValue) * timelineScale;
-							var y : Number = Number(valueMap["y"] || defaultValue) * timelineScale;
+							var x : Number = getFloatValue(valueMap, "x", defaultValue) * timelineScale;
+							var y : Number = getFloatValue(valueMap, "y", defaultValue) * timelineScale;
 							translateTimeline.setFrame(frameIndex, Number(valueMap["time"] || 0), x, y);
 							readCurve(valueMap, translateTimeline, frameIndex);
 							frameIndex++;