mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 01:36:02 +08:00
Fixes for reading mix X/Y.
This commit is contained in:
parent
fe9baaf849
commit
7aa940a961
@ -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);
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user