mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 01:36:02 +08:00
Merge branch '3.6' into 3.7-beta
This commit is contained in:
commit
e7f21bfa29
Binary file not shown.
@ -33,6 +33,7 @@ package spine {
|
|||||||
|
|
||||||
public class PathConstraint implements Constraint {
|
public class PathConstraint implements Constraint {
|
||||||
private static const NONE : int = -1, BEFORE : int = -2, AFTER : int = -3;
|
private static const NONE : int = -1, BEFORE : int = -2, AFTER : int = -3;
|
||||||
|
private static const epsilon : Number = 0.00001;
|
||||||
internal var _data : PathConstraintData;
|
internal var _data : PathConstraintData;
|
||||||
internal var _bones : Vector.<Bone>;
|
internal var _bones : Vector.<Bone>;
|
||||||
public var target : Slot;
|
public var target : Slot;
|
||||||
@ -88,11 +89,15 @@ package spine {
|
|||||||
for (var i : int = 0, n : int = spacesCount - 1; i < n;) {
|
for (var i : int = 0, n : int = spacesCount - 1; i < n;) {
|
||||||
var bone : Bone = bones[i];
|
var bone : Bone = bones[i];
|
||||||
var setupLength : Number = bone.data.length;
|
var setupLength : Number = bone.data.length;
|
||||||
if (setupLength == 0) setupLength = 0.000000001;
|
if (setupLength < epsilon) {
|
||||||
var x : Number = setupLength * bone.a, y : Number = setupLength * bone.c;
|
if (scale) lengths[i] = 0;
|
||||||
var length : Number = Math.sqrt(x * x + y * y);
|
spaces[++i] = 0;
|
||||||
if (scale) lengths[i] = length;
|
} else {
|
||||||
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length / setupLength;
|
var x : Number = setupLength * bone.a, y : Number = setupLength * bone.c;
|
||||||
|
var length : Number = Math.sqrt(x * x + y * y);
|
||||||
|
if (scale) lengths[i] = length;
|
||||||
|
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length / setupLength;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (i = 1; i < spacesCount; i++)
|
for (i = 1; i < spacesCount; i++)
|
||||||
|
|||||||
@ -35,6 +35,7 @@
|
|||||||
#define PATHCONSTRAINT_NONE -1
|
#define PATHCONSTRAINT_NONE -1
|
||||||
#define PATHCONSTRAINT_BEFORE -2
|
#define PATHCONSTRAINT_BEFORE -2
|
||||||
#define PATHCONSTRAINT_AFTER -3
|
#define PATHCONSTRAINT_AFTER -3
|
||||||
|
#define EPSILON 0.00001f
|
||||||
|
|
||||||
spPathConstraint* spPathConstraint_create (spPathConstraintData* data, const spSkeleton* skeleton) {
|
spPathConstraint* spPathConstraint_create (spPathConstraintData* data, const spSkeleton* skeleton) {
|
||||||
int i;
|
int i;
|
||||||
@ -113,13 +114,17 @@ void spPathConstraint_apply (spPathConstraint* self) {
|
|||||||
lengths = self->lengths;
|
lengths = self->lengths;
|
||||||
}
|
}
|
||||||
for (i = 0, n = spacesCount - 1; i < n;) {
|
for (i = 0, n = spacesCount - 1; i < n;) {
|
||||||
spBone* bone = bones[i];
|
spBone *bone = bones[i];
|
||||||
setupLength = bone->data->length;
|
setupLength = bone->data->length;
|
||||||
if (setupLength == 0) setupLength = 0.000000001f;
|
if (setupLength < EPSILON) {
|
||||||
x = setupLength * bone->a, y = setupLength * bone->c;
|
if (scale) lengths[i] = 0;
|
||||||
length = SQRT(x * x + y * y);
|
spaces[++i] = 0;
|
||||||
if (scale) lengths[i] = length;
|
} else {
|
||||||
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length / setupLength;
|
x = setupLength * bone->a, y = setupLength * bone->c;
|
||||||
|
length = SQRT(x * x + y * y);
|
||||||
|
if (scale) lengths[i] = length;
|
||||||
|
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length / setupLength;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (i = 1; i < spacesCount; i++) {
|
for (i = 1; i < spacesCount; i++) {
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
//
|
//
|
||||||
// System.Collections.Generic.List
|
// System.Collections.Generic.List
|
||||||
//
|
//
|
||||||
// Authors:
|
// Authors:
|
||||||
@ -97,9 +97,9 @@ namespace Spine {
|
|||||||
// var newItems = new T[newSize];
|
// var newItems = new T[newSize];
|
||||||
// Array.Copy(oldItems, newItems, Count);
|
// Array.Copy(oldItems, newItems, Count);
|
||||||
// Items = newItems;
|
// Items = newItems;
|
||||||
} else if (newSize > itemsLength) {
|
} else if (newSize < itemsLength) {
|
||||||
// Allow nulling of T reference type to allow GC.
|
// Allow nulling of T reference type to allow GC.
|
||||||
for (int i = Count; i < itemsLength; i++)
|
for (int i = newSize; i < itemsLength; i++)
|
||||||
oldItems[i] = default(T);
|
oldItems[i] = default(T);
|
||||||
}
|
}
|
||||||
Count = newSize;
|
Count = newSize;
|
||||||
|
|||||||
@ -33,6 +33,7 @@ using System;
|
|||||||
namespace Spine {
|
namespace Spine {
|
||||||
public class PathConstraint : IConstraint {
|
public class PathConstraint : IConstraint {
|
||||||
const int NONE = -1, BEFORE = -2, AFTER = -3;
|
const int NONE = -1, BEFORE = -2, AFTER = -3;
|
||||||
|
const float Epsilon = 0.00001f;
|
||||||
|
|
||||||
internal PathConstraintData data;
|
internal PathConstraintData data;
|
||||||
internal ExposedList<Bone> bones;
|
internal ExposedList<Bone> bones;
|
||||||
@ -93,11 +94,15 @@ namespace Spine {
|
|||||||
for (int i = 0, n = spacesCount - 1; i < n;) {
|
for (int i = 0, n = spacesCount - 1; i < n;) {
|
||||||
Bone bone = bonesItems[i];
|
Bone bone = bonesItems[i];
|
||||||
float setupLength = bone.data.length;
|
float setupLength = bone.data.length;
|
||||||
if (setupLength == 0) setupLength = 0.000000001f;
|
if (setupLength < PathConstraint.Epsilon) {
|
||||||
float x = setupLength * bone.a, y = setupLength * bone.c;
|
if (scale) lengths.Items[i] = 0;
|
||||||
float length = (float)Math.Sqrt(x * x + y * y);
|
spaces.Items[++i] = 0;
|
||||||
if (scale) lengths.Items[i] = length;
|
} else {
|
||||||
spaces.Items[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length / setupLength;
|
float x = setupLength * bone.a, y = setupLength * bone.c;
|
||||||
|
float length = (float)Math.Sqrt(x * x + y * y);
|
||||||
|
if (scale) lengths.Items[i] = length;
|
||||||
|
spaces.Items[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length / setupLength;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (int i = 1; i < spacesCount; i++)
|
for (int i = 1; i < spacesCount; i++)
|
||||||
@ -122,7 +127,7 @@ namespace Spine {
|
|||||||
float x = positions[p], y = positions[p + 1], dx = x - boneX, dy = y - boneY;
|
float x = positions[p], y = positions[p + 1], dx = x - boneX, dy = y - boneY;
|
||||||
if (scale) {
|
if (scale) {
|
||||||
float length = lengths.Items[i];
|
float length = lengths.Items[i];
|
||||||
if (length != 0) {
|
if (length >= PathConstraint.Epsilon) {
|
||||||
float s = ((float)Math.Sqrt(dx * dx + dy * dy) / length - 1) * rotateMix + 1;
|
float s = ((float)Math.Sqrt(dx * dx + dy * dy) / length - 1) * rotateMix + 1;
|
||||||
bone.a *= s;
|
bone.a *= s;
|
||||||
bone.c *= s;
|
bone.c *= s;
|
||||||
@ -134,7 +139,7 @@ namespace Spine {
|
|||||||
float a = bone.a, b = bone.b, c = bone.c, d = bone.d, r, cos, sin;
|
float a = bone.a, b = bone.b, c = bone.c, d = bone.d, r, cos, sin;
|
||||||
if (tangents)
|
if (tangents)
|
||||||
r = positions[p - 1];
|
r = positions[p - 1];
|
||||||
else if (spaces.Items[i + 1] == 0)
|
else if (spaces.Items[i + 1] < PathConstraint.Epsilon)
|
||||||
r = positions[p + 2];
|
r = positions[p + 2];
|
||||||
else
|
else
|
||||||
r = MathUtils.Atan2(dy, dx);
|
r = MathUtils.Atan2(dy, dx);
|
||||||
@ -230,7 +235,7 @@ namespace Spine {
|
|||||||
path.ComputeWorldVertices(target, curve * 6 + 2, 8, world, 0);
|
path.ComputeWorldVertices(target, curve * 6 + 2, 8, world, 0);
|
||||||
}
|
}
|
||||||
AddCurvePosition(p, world[0], world[1], world[2], world[3], world[4], world[5], world[6], world[7], output, o,
|
AddCurvePosition(p, world[0], world[1], world[2], world[3], world[4], world[5], world[6], world[7], output, o,
|
||||||
tangents || (i > 0 && space == 0));
|
tangents || (i > 0 && space < PathConstraint.Epsilon));
|
||||||
}
|
}
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
@ -378,7 +383,7 @@ namespace Spine {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
AddCurvePosition(p * 0.1f, x1, y1, cx1, cy1, cx2, cy2, x2, y2, output, o, tangents || (i > 0 && space == 0));
|
AddCurvePosition(p * 0.1f, x1, y1, cx1, cy1, cx2, cy2, x2, y2, output, o, tangents || (i > 0 && space < PathConstraint.Epsilon));
|
||||||
}
|
}
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
@ -399,13 +404,14 @@ namespace Spine {
|
|||||||
|
|
||||||
static void AddCurvePosition (float p, float x1, float y1, float cx1, float cy1, float cx2, float cy2, float x2, float y2,
|
static void AddCurvePosition (float p, float x1, float y1, float cx1, float cy1, float cx2, float cy2, float x2, float y2,
|
||||||
float[] output, int o, bool tangents) {
|
float[] output, int o, bool tangents) {
|
||||||
if (p == 0 || float.IsNaN(p)) p = 0.0001f;
|
if (p < PathConstraint.Epsilon || float.IsNaN(p)) p = PathConstraint.Epsilon;
|
||||||
float tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
|
float tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
|
||||||
float ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
|
float ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
|
||||||
float x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
|
float x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
|
||||||
output[o] = x;
|
output[o] = x;
|
||||||
output[o + 1] = y;
|
output[o + 1] = y;
|
||||||
if (tangents) output[o + 2] = (float)Math.Atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
|
if (tangents)
|
||||||
|
output[o + 2] = (float)Math.Atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,6 +55,7 @@ PathConstraint.__index = PathConstraint
|
|||||||
PathConstraint.NONE = -1
|
PathConstraint.NONE = -1
|
||||||
PathConstraint.BEFORE = -2
|
PathConstraint.BEFORE = -2
|
||||||
PathConstraint.AFTER = -3
|
PathConstraint.AFTER = -3
|
||||||
|
PathConstraint.epsilon = 0.00001
|
||||||
|
|
||||||
function PathConstraint.new (data, skeleton)
|
function PathConstraint.new (data, skeleton)
|
||||||
if not data then error("data cannot be nil", 2) end
|
if not data then error("data cannot be nil", 2) end
|
||||||
@ -118,13 +119,22 @@ function PathConstraint:update ()
|
|||||||
while i < n do
|
while i < n do
|
||||||
local bone = bones[i + 1];
|
local bone = bones[i + 1];
|
||||||
local setupLength = bone.data.length
|
local setupLength = bone.data.length
|
||||||
if setupLength == 0 then setupLength = 0.0000001 end
|
if setupLength < PathConstraint.epsilon then
|
||||||
local x = setupLength * bone.a
|
if scale then lengths[i + 1] = 0 end
|
||||||
local y = setupLength * bone.c
|
i = i + 1
|
||||||
local length = math_sqrt(x * x + y * y)
|
spaces[i + 1] = 0
|
||||||
if scale then lengths[i + 1] = length end
|
else
|
||||||
i = i + 1
|
local x = setupLength * bone.a
|
||||||
if lengthSpacing then spaces[i + 1] = (setupLength + spacing) * length / setupLength else spaces[i + 1] = spacing * length / setupLength end
|
local y = setupLength * bone.c
|
||||||
|
local length = math_sqrt(x * x + y * y)
|
||||||
|
if scale then lengths[i + 1] = length end
|
||||||
|
i = i + 1
|
||||||
|
if lengthSpacing then
|
||||||
|
spaces[i + 1] = (setupLength + spacing) * length / setupLength
|
||||||
|
else
|
||||||
|
spaces[i + 1] = spacing * length / setupLength
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
local i = 1
|
local i = 1
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
1
spine-ts/build/spine-all.d.ts
vendored
1
spine-ts/build/spine-all.d.ts
vendored
@ -752,6 +752,7 @@ declare module spine {
|
|||||||
static NONE: number;
|
static NONE: number;
|
||||||
static BEFORE: number;
|
static BEFORE: number;
|
||||||
static AFTER: number;
|
static AFTER: number;
|
||||||
|
static epsilon: number;
|
||||||
data: PathConstraintData;
|
data: PathConstraintData;
|
||||||
bones: Array<Bone>;
|
bones: Array<Bone>;
|
||||||
target: Slot;
|
target: Slot;
|
||||||
|
|||||||
@ -3290,13 +3290,18 @@ var spine;
|
|||||||
for (var i = 0, n = spacesCount - 1; i < n;) {
|
for (var i = 0, n = spacesCount - 1; i < n;) {
|
||||||
var bone = bones[i];
|
var bone = bones[i];
|
||||||
var setupLength = bone.data.length;
|
var setupLength = bone.data.length;
|
||||||
if (setupLength == 0)
|
if (setupLength < PathConstraint.epsilon) {
|
||||||
setupLength = 0.0000001;
|
if (scale)
|
||||||
var x = setupLength * bone.a, y = setupLength * bone.c;
|
lengths[i] = 0;
|
||||||
var length_1 = Math.sqrt(x * x + y * y);
|
spaces[++i] = 0;
|
||||||
if (scale)
|
}
|
||||||
lengths[i] = length_1;
|
else {
|
||||||
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length_1 / setupLength;
|
var x = setupLength * bone.a, y = setupLength * bone.c;
|
||||||
|
var length_1 = Math.sqrt(x * x + y * y);
|
||||||
|
if (scale)
|
||||||
|
lengths[i] = length_1;
|
||||||
|
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length_1 / setupLength;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -3602,6 +3607,7 @@ var spine;
|
|||||||
PathConstraint.NONE = -1;
|
PathConstraint.NONE = -1;
|
||||||
PathConstraint.BEFORE = -2;
|
PathConstraint.BEFORE = -2;
|
||||||
PathConstraint.AFTER = -3;
|
PathConstraint.AFTER = -3;
|
||||||
|
PathConstraint.epsilon = 0.00001;
|
||||||
return PathConstraint;
|
return PathConstraint;
|
||||||
}());
|
}());
|
||||||
spine.PathConstraint = PathConstraint;
|
spine.PathConstraint = PathConstraint;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
1
spine-ts/build/spine-canvas.d.ts
vendored
1
spine-ts/build/spine-canvas.d.ts
vendored
@ -752,6 +752,7 @@ declare module spine {
|
|||||||
static NONE: number;
|
static NONE: number;
|
||||||
static BEFORE: number;
|
static BEFORE: number;
|
||||||
static AFTER: number;
|
static AFTER: number;
|
||||||
|
static epsilon: number;
|
||||||
data: PathConstraintData;
|
data: PathConstraintData;
|
||||||
bones: Array<Bone>;
|
bones: Array<Bone>;
|
||||||
target: Slot;
|
target: Slot;
|
||||||
|
|||||||
@ -3290,13 +3290,18 @@ var spine;
|
|||||||
for (var i = 0, n = spacesCount - 1; i < n;) {
|
for (var i = 0, n = spacesCount - 1; i < n;) {
|
||||||
var bone = bones[i];
|
var bone = bones[i];
|
||||||
var setupLength = bone.data.length;
|
var setupLength = bone.data.length;
|
||||||
if (setupLength == 0)
|
if (setupLength < PathConstraint.epsilon) {
|
||||||
setupLength = 0.0000001;
|
if (scale)
|
||||||
var x = setupLength * bone.a, y = setupLength * bone.c;
|
lengths[i] = 0;
|
||||||
var length_1 = Math.sqrt(x * x + y * y);
|
spaces[++i] = 0;
|
||||||
if (scale)
|
}
|
||||||
lengths[i] = length_1;
|
else {
|
||||||
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length_1 / setupLength;
|
var x = setupLength * bone.a, y = setupLength * bone.c;
|
||||||
|
var length_1 = Math.sqrt(x * x + y * y);
|
||||||
|
if (scale)
|
||||||
|
lengths[i] = length_1;
|
||||||
|
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length_1 / setupLength;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -3602,6 +3607,7 @@ var spine;
|
|||||||
PathConstraint.NONE = -1;
|
PathConstraint.NONE = -1;
|
||||||
PathConstraint.BEFORE = -2;
|
PathConstraint.BEFORE = -2;
|
||||||
PathConstraint.AFTER = -3;
|
PathConstraint.AFTER = -3;
|
||||||
|
PathConstraint.epsilon = 0.00001;
|
||||||
return PathConstraint;
|
return PathConstraint;
|
||||||
}());
|
}());
|
||||||
spine.PathConstraint = PathConstraint;
|
spine.PathConstraint = PathConstraint;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
1
spine-ts/build/spine-core.d.ts
vendored
1
spine-ts/build/spine-core.d.ts
vendored
@ -681,6 +681,7 @@ declare module spine {
|
|||||||
static NONE: number;
|
static NONE: number;
|
||||||
static BEFORE: number;
|
static BEFORE: number;
|
||||||
static AFTER: number;
|
static AFTER: number;
|
||||||
|
static epsilon: number;
|
||||||
data: PathConstraintData;
|
data: PathConstraintData;
|
||||||
bones: Array<Bone>;
|
bones: Array<Bone>;
|
||||||
target: Slot;
|
target: Slot;
|
||||||
|
|||||||
@ -2969,13 +2969,18 @@ var spine;
|
|||||||
for (var i = 0, n = spacesCount - 1; i < n;) {
|
for (var i = 0, n = spacesCount - 1; i < n;) {
|
||||||
var bone = bones[i];
|
var bone = bones[i];
|
||||||
var setupLength = bone.data.length;
|
var setupLength = bone.data.length;
|
||||||
if (setupLength == 0)
|
if (setupLength < PathConstraint.epsilon) {
|
||||||
setupLength = 0.0000001;
|
if (scale)
|
||||||
var x = setupLength * bone.a, y = setupLength * bone.c;
|
lengths[i] = 0;
|
||||||
var length_1 = Math.sqrt(x * x + y * y);
|
spaces[++i] = 0;
|
||||||
if (scale)
|
}
|
||||||
lengths[i] = length_1;
|
else {
|
||||||
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length_1 / setupLength;
|
var x = setupLength * bone.a, y = setupLength * bone.c;
|
||||||
|
var length_1 = Math.sqrt(x * x + y * y);
|
||||||
|
if (scale)
|
||||||
|
lengths[i] = length_1;
|
||||||
|
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length_1 / setupLength;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -3281,6 +3286,7 @@ var spine;
|
|||||||
PathConstraint.NONE = -1;
|
PathConstraint.NONE = -1;
|
||||||
PathConstraint.BEFORE = -2;
|
PathConstraint.BEFORE = -2;
|
||||||
PathConstraint.AFTER = -3;
|
PathConstraint.AFTER = -3;
|
||||||
|
PathConstraint.epsilon = 0.00001;
|
||||||
return PathConstraint;
|
return PathConstraint;
|
||||||
}());
|
}());
|
||||||
spine.PathConstraint = PathConstraint;
|
spine.PathConstraint = PathConstraint;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
1
spine-ts/build/spine-threejs.d.ts
vendored
1
spine-ts/build/spine-threejs.d.ts
vendored
@ -681,6 +681,7 @@ declare module spine {
|
|||||||
static NONE: number;
|
static NONE: number;
|
||||||
static BEFORE: number;
|
static BEFORE: number;
|
||||||
static AFTER: number;
|
static AFTER: number;
|
||||||
|
static epsilon: number;
|
||||||
data: PathConstraintData;
|
data: PathConstraintData;
|
||||||
bones: Array<Bone>;
|
bones: Array<Bone>;
|
||||||
target: Slot;
|
target: Slot;
|
||||||
|
|||||||
@ -2969,13 +2969,18 @@ var spine;
|
|||||||
for (var i = 0, n = spacesCount - 1; i < n;) {
|
for (var i = 0, n = spacesCount - 1; i < n;) {
|
||||||
var bone = bones[i];
|
var bone = bones[i];
|
||||||
var setupLength = bone.data.length;
|
var setupLength = bone.data.length;
|
||||||
if (setupLength == 0)
|
if (setupLength < PathConstraint.epsilon) {
|
||||||
setupLength = 0.0000001;
|
if (scale)
|
||||||
var x = setupLength * bone.a, y = setupLength * bone.c;
|
lengths[i] = 0;
|
||||||
var length_1 = Math.sqrt(x * x + y * y);
|
spaces[++i] = 0;
|
||||||
if (scale)
|
}
|
||||||
lengths[i] = length_1;
|
else {
|
||||||
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length_1 / setupLength;
|
var x = setupLength * bone.a, y = setupLength * bone.c;
|
||||||
|
var length_1 = Math.sqrt(x * x + y * y);
|
||||||
|
if (scale)
|
||||||
|
lengths[i] = length_1;
|
||||||
|
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length_1 / setupLength;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -3281,6 +3286,7 @@ var spine;
|
|||||||
PathConstraint.NONE = -1;
|
PathConstraint.NONE = -1;
|
||||||
PathConstraint.BEFORE = -2;
|
PathConstraint.BEFORE = -2;
|
||||||
PathConstraint.AFTER = -3;
|
PathConstraint.AFTER = -3;
|
||||||
|
PathConstraint.epsilon = 0.00001;
|
||||||
return PathConstraint;
|
return PathConstraint;
|
||||||
}());
|
}());
|
||||||
spine.PathConstraint = PathConstraint;
|
spine.PathConstraint = PathConstraint;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
1
spine-ts/build/spine-webgl.d.ts
vendored
1
spine-ts/build/spine-webgl.d.ts
vendored
@ -681,6 +681,7 @@ declare module spine {
|
|||||||
static NONE: number;
|
static NONE: number;
|
||||||
static BEFORE: number;
|
static BEFORE: number;
|
||||||
static AFTER: number;
|
static AFTER: number;
|
||||||
|
static epsilon: number;
|
||||||
data: PathConstraintData;
|
data: PathConstraintData;
|
||||||
bones: Array<Bone>;
|
bones: Array<Bone>;
|
||||||
target: Slot;
|
target: Slot;
|
||||||
|
|||||||
@ -2969,13 +2969,18 @@ var spine;
|
|||||||
for (var i = 0, n = spacesCount - 1; i < n;) {
|
for (var i = 0, n = spacesCount - 1; i < n;) {
|
||||||
var bone = bones[i];
|
var bone = bones[i];
|
||||||
var setupLength = bone.data.length;
|
var setupLength = bone.data.length;
|
||||||
if (setupLength == 0)
|
if (setupLength < PathConstraint.epsilon) {
|
||||||
setupLength = 0.0000001;
|
if (scale)
|
||||||
var x = setupLength * bone.a, y = setupLength * bone.c;
|
lengths[i] = 0;
|
||||||
var length_1 = Math.sqrt(x * x + y * y);
|
spaces[++i] = 0;
|
||||||
if (scale)
|
}
|
||||||
lengths[i] = length_1;
|
else {
|
||||||
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length_1 / setupLength;
|
var x = setupLength * bone.a, y = setupLength * bone.c;
|
||||||
|
var length_1 = Math.sqrt(x * x + y * y);
|
||||||
|
if (scale)
|
||||||
|
lengths[i] = length_1;
|
||||||
|
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length_1 / setupLength;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -3281,6 +3286,7 @@ var spine;
|
|||||||
PathConstraint.NONE = -1;
|
PathConstraint.NONE = -1;
|
||||||
PathConstraint.BEFORE = -2;
|
PathConstraint.BEFORE = -2;
|
||||||
PathConstraint.AFTER = -3;
|
PathConstraint.AFTER = -3;
|
||||||
|
PathConstraint.epsilon = 0.00001;
|
||||||
return PathConstraint;
|
return PathConstraint;
|
||||||
}());
|
}());
|
||||||
spine.PathConstraint = PathConstraint;
|
spine.PathConstraint = PathConstraint;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
1
spine-ts/build/spine-widget.d.ts
vendored
1
spine-ts/build/spine-widget.d.ts
vendored
@ -681,6 +681,7 @@ declare module spine {
|
|||||||
static NONE: number;
|
static NONE: number;
|
||||||
static BEFORE: number;
|
static BEFORE: number;
|
||||||
static AFTER: number;
|
static AFTER: number;
|
||||||
|
static epsilon: number;
|
||||||
data: PathConstraintData;
|
data: PathConstraintData;
|
||||||
bones: Array<Bone>;
|
bones: Array<Bone>;
|
||||||
target: Slot;
|
target: Slot;
|
||||||
|
|||||||
@ -2969,13 +2969,18 @@ var spine;
|
|||||||
for (var i = 0, n = spacesCount - 1; i < n;) {
|
for (var i = 0, n = spacesCount - 1; i < n;) {
|
||||||
var bone = bones[i];
|
var bone = bones[i];
|
||||||
var setupLength = bone.data.length;
|
var setupLength = bone.data.length;
|
||||||
if (setupLength == 0)
|
if (setupLength < PathConstraint.epsilon) {
|
||||||
setupLength = 0.0000001;
|
if (scale)
|
||||||
var x = setupLength * bone.a, y = setupLength * bone.c;
|
lengths[i] = 0;
|
||||||
var length_1 = Math.sqrt(x * x + y * y);
|
spaces[++i] = 0;
|
||||||
if (scale)
|
}
|
||||||
lengths[i] = length_1;
|
else {
|
||||||
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length_1 / setupLength;
|
var x = setupLength * bone.a, y = setupLength * bone.c;
|
||||||
|
var length_1 = Math.sqrt(x * x + y * y);
|
||||||
|
if (scale)
|
||||||
|
lengths[i] = length_1;
|
||||||
|
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length_1 / setupLength;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -3281,6 +3286,7 @@ var spine;
|
|||||||
PathConstraint.NONE = -1;
|
PathConstraint.NONE = -1;
|
||||||
PathConstraint.BEFORE = -2;
|
PathConstraint.BEFORE = -2;
|
||||||
PathConstraint.AFTER = -3;
|
PathConstraint.AFTER = -3;
|
||||||
|
PathConstraint.epsilon = 0.00001;
|
||||||
return PathConstraint;
|
return PathConstraint;
|
||||||
}());
|
}());
|
||||||
spine.PathConstraint = PathConstraint;
|
spine.PathConstraint = PathConstraint;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -31,6 +31,7 @@
|
|||||||
module spine {
|
module spine {
|
||||||
export class PathConstraint implements Constraint {
|
export class PathConstraint implements Constraint {
|
||||||
static NONE = -1; static BEFORE = -2; static AFTER = -3;
|
static NONE = -1; static BEFORE = -2; static AFTER = -3;
|
||||||
|
static epsilon = 0.00001;
|
||||||
|
|
||||||
data: PathConstraintData;
|
data: PathConstraintData;
|
||||||
bones: Array<Bone>;
|
bones: Array<Bone>;
|
||||||
@ -81,11 +82,15 @@ module spine {
|
|||||||
for (let i = 0, n = spacesCount - 1; i < n;) {
|
for (let i = 0, n = spacesCount - 1; i < n;) {
|
||||||
let bone = bones[i];
|
let bone = bones[i];
|
||||||
let setupLength = bone.data.length;
|
let setupLength = bone.data.length;
|
||||||
if (setupLength == 0) setupLength = 0.0000001;
|
if (setupLength < PathConstraint.epsilon) {
|
||||||
let x = setupLength * bone.a, y = setupLength * bone.c;
|
if (scale) lengths[i] = 0;
|
||||||
let length = Math.sqrt(x * x + y * y);
|
spaces[++i] = 0;
|
||||||
if (scale) lengths[i] = length;
|
} else {
|
||||||
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length / setupLength;
|
let x = setupLength * bone.a, y = setupLength * bone.c;
|
||||||
|
let length = Math.sqrt(x * x + y * y);
|
||||||
|
if (scale) lengths[i] = length;
|
||||||
|
spaces[++i] = (lengthSpacing ? setupLength + spacing : spacing) * length / setupLength;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (let i = 1; i < spacesCount; i++)
|
for (let i = 1; i < spacesCount; i++)
|
||||||
|
|||||||
@ -110,9 +110,9 @@ Shader "Spine/SkeletonGraphic Tint Black (Premultiply Alpha)"
|
|||||||
clip (texColor.a - 0.001);
|
clip (texColor.a - 0.001);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return (texColor * IN.color) + float4(((1-texColor.rgb) * (_Black.rgb + float3(IN.uv1.r, IN.uv1.g, IN.uv2.r)) * texColor.a*_Color.a*i.vertexColor.a), 0);
|
return (texColor * IN.color) + float4(((1-texColor.rgb) * (_Black.rgb + float3(IN.uv1.r, IN.uv1.g, IN.uv2.r)) * texColor.a * _Color.a * IN.color.a), 0);
|
||||||
}
|
}
|
||||||
ENDCG
|
ENDCG
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user