mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
[ts] Added another last minute fix to AnimationState:applyRotateTimeline
This commit is contained in:
parent
35d25096d0
commit
e8d363435d
@ -1458,9 +1458,12 @@ var spine;
|
|||||||
}
|
}
|
||||||
var rotateTimeline = timeline;
|
var rotateTimeline = timeline;
|
||||||
var frames = rotateTimeline.frames;
|
var frames = rotateTimeline.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[rotateTimeline.boneIndex];
|
var bone = skeleton.bones[rotateTimeline.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
bone.rotation = bone.data.rotation;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var r2 = 0;
|
var r2 = 0;
|
||||||
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
|
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
|
||||||
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];
|
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -1458,9 +1458,12 @@ var spine;
|
|||||||
}
|
}
|
||||||
var rotateTimeline = timeline;
|
var rotateTimeline = timeline;
|
||||||
var frames = rotateTimeline.frames;
|
var frames = rotateTimeline.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[rotateTimeline.boneIndex];
|
var bone = skeleton.bones[rotateTimeline.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
bone.rotation = bone.data.rotation;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var r2 = 0;
|
var r2 = 0;
|
||||||
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
|
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
|
||||||
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];
|
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -1111,9 +1111,12 @@ var spine;
|
|||||||
}
|
}
|
||||||
var rotateTimeline = timeline;
|
var rotateTimeline = timeline;
|
||||||
var frames = rotateTimeline.frames;
|
var frames = rotateTimeline.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[rotateTimeline.boneIndex];
|
var bone = skeleton.bones[rotateTimeline.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
bone.rotation = bone.data.rotation;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var r2 = 0;
|
var r2 = 0;
|
||||||
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
|
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
|
||||||
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];
|
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -1111,9 +1111,12 @@ var spine;
|
|||||||
}
|
}
|
||||||
var rotateTimeline = timeline;
|
var rotateTimeline = timeline;
|
||||||
var frames = rotateTimeline.frames;
|
var frames = rotateTimeline.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[rotateTimeline.boneIndex];
|
var bone = skeleton.bones[rotateTimeline.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
bone.rotation = bone.data.rotation;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var r2 = 0;
|
var r2 = 0;
|
||||||
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
|
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
|
||||||
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];
|
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -1111,9 +1111,12 @@ var spine;
|
|||||||
}
|
}
|
||||||
var rotateTimeline = timeline;
|
var rotateTimeline = timeline;
|
||||||
var frames = rotateTimeline.frames;
|
var frames = rotateTimeline.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[rotateTimeline.boneIndex];
|
var bone = skeleton.bones[rotateTimeline.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
bone.rotation = bone.data.rotation;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var r2 = 0;
|
var r2 = 0;
|
||||||
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
|
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
|
||||||
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];
|
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -1111,9 +1111,12 @@ var spine;
|
|||||||
}
|
}
|
||||||
var rotateTimeline = timeline;
|
var rotateTimeline = timeline;
|
||||||
var frames = rotateTimeline.frames;
|
var frames = rotateTimeline.frames;
|
||||||
if (time < frames[0])
|
|
||||||
return;
|
|
||||||
var bone = skeleton.bones[rotateTimeline.boneIndex];
|
var bone = skeleton.bones[rotateTimeline.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose)
|
||||||
|
bone.rotation = bone.data.rotation;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var r2 = 0;
|
var r2 = 0;
|
||||||
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
|
if (time >= frames[frames.length - spine.RotateTimeline.ENTRIES])
|
||||||
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];
|
r2 = bone.data.rotation + frames[frames.length + spine.RotateTimeline.PREV_ROTATION];
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -176,12 +176,12 @@ module spine {
|
|||||||
mix = 1;
|
mix = 1;
|
||||||
else {
|
else {
|
||||||
mix = entry.mixTime / entry.mixDuration;
|
mix = entry.mixTime / entry.mixDuration;
|
||||||
if (mix > 1) mix = 1;
|
if (mix > 1) mix = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
let events = mix < from.eventThreshold ? this.events : null;
|
let events = mix < from.eventThreshold ? this.events : null;
|
||||||
let attachments = mix < from.attachmentThreshold, drawOrder = mix < from.drawOrderThreshold;
|
let attachments = mix < from.attachmentThreshold, drawOrder = mix < from.drawOrderThreshold;
|
||||||
let animationLast = from.animationLast, animationTime = from.getAnimationTime();
|
let animationLast = from.animationLast, animationTime = from.getAnimationTime();
|
||||||
let timelineCount = from.animation.timelines.length;
|
let timelineCount = from.animation.timelines.length;
|
||||||
let timelines = from.animation.timelines;
|
let timelines = from.animation.timelines;
|
||||||
let timelinesFirst = from.timelinesFirst;
|
let timelinesFirst = from.timelinesFirst;
|
||||||
@ -221,9 +221,11 @@ module spine {
|
|||||||
|
|
||||||
let rotateTimeline = timeline as RotateTimeline;
|
let rotateTimeline = timeline as RotateTimeline;
|
||||||
let frames = rotateTimeline.frames;
|
let frames = rotateTimeline.frames;
|
||||||
if (time < frames[0]) return; // Time is before first frame.
|
|
||||||
|
|
||||||
let bone = skeleton.bones[rotateTimeline.boneIndex];
|
let bone = skeleton.bones[rotateTimeline.boneIndex];
|
||||||
|
if (time < frames[0]) {
|
||||||
|
if (setupPose) bone.rotation = bone.data.rotation;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let r2 = 0;
|
let r2 = 0;
|
||||||
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) // Time is after last frame.
|
if (time >= frames[frames.length - RotateTimeline.ENTRIES]) // Time is after last frame.
|
||||||
@ -346,7 +348,7 @@ module spine {
|
|||||||
if (from != null) {
|
if (from != null) {
|
||||||
this.queue.interrupt(from);
|
this.queue.interrupt(from);
|
||||||
current.mixingFrom = from;
|
current.mixingFrom = from;
|
||||||
current.mixTime = 0;
|
current.mixTime = 0;
|
||||||
|
|
||||||
// If not completely mixed in, set mixAlpha so mixing out happens from current mix to zero.
|
// If not completely mixed in, set mixAlpha so mixing out happens from current mix to zero.
|
||||||
if (from.mixingFrom != null) current.mixAlpha *= Math.min(from.mixTime / from.mixDuration, 1);
|
if (from.mixingFrom != null) current.mixAlpha *= Math.min(from.mixTime / from.mixDuration, 1);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user