瀏覽代碼

Fixes for reading mix X/Y.

Nathan Sweet 4 年之前
父節點
當前提交
7aa940a961

+ 1 - 1
spine-as3/spine-as3/src/spine/SkeletonJson.as

@@ -202,7 +202,7 @@ package spine {
 				if (pathData.spacingMode == SpacingMode.length || pathData.spacingMode == SpacingMode.fixed) pathData.spacing *= scale;
 				pathData.mixRotate = getNumber(constraintMap, "mixRotate", 1);
 				pathData.mixX = getNumber(constraintMap, "mixX", 1);
-				pathData.mixY = getNumber(constraintMap, "mixY", 1);
+				pathData.mixY = getNumber(constraintMap, "mixY", pathData.mixX);
 
 				skeletonData.pathConstraints.push(pathData);
 			}

+ 3 - 3
spine-c/spine-c/src/spine/SkeletonJson.c

@@ -1085,9 +1085,9 @@ spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const cha
 			if (data->positionMode == SP_POSITION_MODE_FIXED) data->position *= self->scale;
 			data->spacing = Json_getFloat(constraintMap, "spacing", 0);
 			if (data->spacingMode == SP_SPACING_MODE_LENGTH || data->spacingMode == SP_SPACING_MODE_FIXED) data->spacing *= self->scale;
-            data->mixRotate = Json_getFloat(constraintMap, "mixRotate", 1);
-            data->mixX = Json_getFloat(constraintMap, "mixX", 1);
-            data->mixY = Json_getFloat(constraintMap, "mixY", 1);
+			data->mixRotate = Json_getFloat(constraintMap, "mixRotate", 1);
+			data->mixX = Json_getFloat(constraintMap, "mixX", 1);
+			data->mixY = Json_getFloat(constraintMap, "mixY", data->mixX);
 
 			skeletonData->pathConstraints[i] = data;
 		}

+ 7 - 7
spine-cpp/spine-cpp/src/spine/SkeletonJson.cpp

@@ -349,12 +349,12 @@ SkeletonData *SkeletonJson::readSkeletonData(const char *json) {
 			data->_offsetScaleY = Json::getFloat(constraintMap, "scaleY", 0);
 			data->_offsetShearY = Json::getFloat(constraintMap, "shearY", 0);
 
-            data->_mixRotate = Json::getFloat(constraintMap, "mixRotate", 1);
-            data->_mixX = Json::getFloat(constraintMap, "mixX", 1);
-            data->_mixY = Json::getFloat(constraintMap, "mixY", data->_mixX);
-            data->_mixScaleX = Json::getFloat(constraintMap, "mixScaleX", 1);
-            data->_mixScaleY = Json::getFloat(constraintMap, "mixScaleY", data->_mixScaleX);
-            data->_mixShearY = Json::getFloat(constraintMap, "mixShearY", 1);
+			data->_mixRotate = Json::getFloat(constraintMap, "mixRotate", 1);
+			data->_mixX = Json::getFloat(constraintMap, "mixX", 1);
+			data->_mixY = Json::getFloat(constraintMap, "mixY", data->_mixX);
+			data->_mixScaleX = Json::getFloat(constraintMap, "mixScaleX", 1);
+			data->_mixScaleY = Json::getFloat(constraintMap, "mixScaleY", data->_mixScaleX);
+			data->_mixShearY = Json::getFloat(constraintMap, "mixShearY", 1);
 
 			skeletonData->_transformConstraints[i] = data;
 		}
@@ -418,7 +418,7 @@ SkeletonData *SkeletonJson::readSkeletonData(const char *json) {
 			if (data->_spacingMode == SpacingMode_Length || data->_spacingMode == SpacingMode_Fixed) data->_spacing *= _scale;
 			data->_mixRotate = Json::getFloat(constraintMap, "mixRotate", 1);
 			data->_mixX = Json::getFloat(constraintMap, "mixX", 1);
-            data->_mixY = Json::getFloat(constraintMap, "mixY", 1);
+			data->_mixY = Json::getFloat(constraintMap, "mixY", data->_mixX);
 
 			skeletonData->_pathConstraints[i] = data;
 		}

+ 1 - 2
spine-csharp/src/SkeletonJson.cs

@@ -271,8 +271,7 @@ namespace Spine {
 					if (data.spacingMode == SpacingMode.Length || data.spacingMode == SpacingMode.Fixed) data.spacing *= scale;
 					data.mixRotate = GetFloat(constraintMap, "mixRotate", 1);
 					data.mixX = GetFloat(constraintMap, "mixX", 1);
-					data.mixY = GetFloat(constraintMap, "mixY", 1);
-
+					data.mixY = GetFloat(constraintMap, "mixY", data.mixX);
 
 					skeletonData.pathConstraints.Add(data);
 				}

+ 4 - 2
spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java

@@ -773,9 +773,10 @@ public class SkeletonJson extends SkeletonLoader {
 			TransformConstraintTimeline timeline = new TransformConstraintTimeline(timelineMap.size, timelineMap.size << 2,
 				skeletonData.getTransformConstraints().indexOf(constraint, true));
 			float time = keyMap.getFloat("time", 0);
-			float mixRotate = keyMap.getFloat("mixRotate", 1), mixShearY = keyMap.getFloat("mixShearY", 1);
+			float mixRotate = keyMap.getFloat("mixRotate", 1);
 			float mixX = keyMap.getFloat("mixX", 1), mixY = keyMap.getFloat("mixY", mixX);
 			float mixScaleX = keyMap.getFloat("mixScaleX", 1), mixScaleY = keyMap.getFloat("mixScaleY", mixScaleX);
+			float mixShearY = keyMap.getFloat("mixShearY", 1);
 			for (int frame = 0, bezier = 0;; frame++) {
 				timeline.setFrame(frame, time, mixRotate, mixX, mixY, mixScaleX, mixScaleY, mixShearY);
 				JsonValue nextMap = keyMap.next;
@@ -784,9 +785,10 @@ public class SkeletonJson extends SkeletonLoader {
 					break;
 				}
 				float time2 = nextMap.getFloat("time", 0);
-				float mixRotate2 = nextMap.getFloat("mixRotate", 1), mixShearY2 = nextMap.getFloat("mixShearY", 1);
+				float mixRotate2 = nextMap.getFloat("mixRotate", 1);
 				float mixX2 = nextMap.getFloat("mixX", 1), mixY2 = nextMap.getFloat("mixY", mixX2);
 				float mixScaleX2 = nextMap.getFloat("mixScaleX", 1), mixScaleY2 = nextMap.getFloat("mixScaleY", mixScaleX2);
+				float mixShearY2 = nextMap.getFloat("mixShearY", 1);
 				JsonValue curve = keyMap.get("curve");
 				if (curve != null) {
 					bezier = readCurve(curve, timeline, bezier, frame, 0, time, time2, mixRotate, mixRotate2, 1);

+ 3 - 3
spine-ts/core/src/SkeletonJson.ts

@@ -216,7 +216,7 @@ module spine {
 					if (data.spacingMode == SpacingMode.Length || data.spacingMode == SpacingMode.Fixed) data.spacing *= scale;
 					data.mixRotate = getValue(constraintMap, "mixRotate", 1);
 					data.mixX = getValue(constraintMap, "mixX", 1);
-					data.mixY = getValue(constraintMap, "mixY", 1);
+					data.mixY = getValue(constraintMap, "mixY", data.mixX);
 
 					skeletonData.pathConstraints.push(data);
 				}
@@ -697,11 +697,11 @@ module spine {
 
 					let time = getValue(keyMap, "time", 0);
 					let mixRotate = getValue(keyMap, "mixRotate", 1);
-					let mixShearY = getValue(keyMap, "mixShearY", 1);
 					let mixX = getValue(keyMap, "mixX", 1);
 					let mixY = getValue(keyMap, "mixY", mixX);
 					let mixScaleX = getValue(keyMap, "mixScaleX", 1);
 					let mixScaleY = getValue(keyMap, "mixScaleY", mixScaleX);
+					let mixShearY = getValue(keyMap, "mixShearY", 1);
 
 					for (let frame = 0, bezier = 0;; frame++) {
 						timeline.setFrame(frame, time, mixRotate, mixX, mixY, mixScaleX, mixScaleY, mixShearY);
@@ -710,11 +710,11 @@ module spine {
 
 						let time2 = getValue(nextMap, "time", 0);
 						let mixRotate2 = getValue(nextMap, "mixRotate", 1);
-						let mixShearY2 = getValue(nextMap, "mixShearY", 1);
 						let mixX2 = getValue(nextMap, "mixX", 1);
 						let mixY2 = getValue(nextMap, "mixY", mixX2);
 						let mixScaleX2 = getValue(nextMap, "mixScaleX", 1);
 						let mixScaleY2 = getValue(nextMap, "mixScaleY", mixScaleX2);
+						let mixShearY2 = getValue(nextMap, "mixShearY", 1);
 						let curve = keyMap.curve;
 						if (curve) {
 							bezier = readCurve(curve, timeline, bezier, frame, 0, time, time2, mixRotate, mixRotate2, 1);