mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-06 15:24:55 +08:00
Merge remote-tracking branch 'origin/3.6-beta' into 3.6-beta
This commit is contained in:
commit
68d0db8f35
@ -413,22 +413,22 @@ namespace Spine {
|
||||
|
||||
//from.timelinesRotation.Clear();
|
||||
var mixingFrom = from.mixingFrom;
|
||||
float mixProgress = from.mixTime / from.mixDuration;
|
||||
|
||||
if (mixingFrom != null && from.mixDuration > 0) {
|
||||
// A mix was interrupted, mix from the closest animation.
|
||||
if (!multipleMixing && mixProgress < 0.5f && mixingFrom.animation != AnimationState.EmptyAnimation) {
|
||||
current.mixingFrom = mixingFrom;
|
||||
mixingFrom.mixingFrom = from;
|
||||
mixingFrom.mixTime = from.mixDuration - from.mixTime;
|
||||
mixingFrom.mixDuration = from.mixDuration;
|
||||
from.mixingFrom = null;
|
||||
from = mixingFrom;
|
||||
}
|
||||
if (multipleMixing) {
|
||||
// The interrupted mix will mix out from its current percentage to zero.
|
||||
current.mixAlpha *= Math.Min(from.mixTime / from.mixDuration, 1);
|
||||
} else {
|
||||
// A mix was interrupted, mix from the closest animation.
|
||||
if (from.mixTime / from.mixDuration < 0.5f && mixingFrom.animation != AnimationState.EmptyAnimation) {
|
||||
current.mixingFrom = mixingFrom;
|
||||
mixingFrom.mixingFrom = from;
|
||||
mixingFrom.mixTime = from.mixDuration - from.mixTime;
|
||||
mixingFrom.mixDuration = from.mixDuration;
|
||||
from.mixingFrom = null;
|
||||
from = mixingFrom;
|
||||
}
|
||||
|
||||
// The interrupted mix will mix out from its current percentage to zero.
|
||||
if (multipleMixing) current.mixAlpha *= Math.Min(mixProgress, 1);
|
||||
|
||||
if (!multipleMixing) {
|
||||
from.mixAlpha = 0;
|
||||
from.mixTime = 0;
|
||||
from.mixDuration = 0;
|
||||
@ -650,7 +650,7 @@ namespace Spine {
|
||||
var timelinesItems = timelines.Items;
|
||||
for (int ii = 0, nn = timelines.Count; ii < nn; ii++)
|
||||
propertyIDs.Add(timelinesItems[ii].PropertyId);
|
||||
|
||||
|
||||
entry = entry.mixingFrom;
|
||||
while (entry != null) {
|
||||
CheckTimelinesUsage(entry, entry.timelinesLast);
|
||||
|
||||
@ -143,8 +143,15 @@ var hoverboardDemo = function(loadingComplete, bgColor) {
|
||||
|
||||
renderer.begin();
|
||||
renderer.drawSkeleton(skeleton, true);
|
||||
// renderer.drawSkeletonDebug(skeleton, false, ["root"]);
|
||||
|
||||
renderer.drawSkeletonDebug(skeleton, false, ["root"]);
|
||||
gl.lineWidth(2);
|
||||
for (var i = 0; i < controlBones.length; i++) {
|
||||
var bone = skeleton.findBone(controlBones[i]);
|
||||
var colorInner = hoverTargets[i] !== null ? spineDemos.HOVER_COLOR_INNER : spineDemos.NON_HOVER_COLOR_INNER;
|
||||
var colorOuter = hoverTargets[i] !== null ? spineDemos.HOVER_COLOR_OUTER : spineDemos.NON_HOVER_COLOR_OUTER;
|
||||
renderer.circle(true, skeleton.x + bone.worldX, skeleton.y + bone.worldY, 20, colorInner);
|
||||
renderer.circle(false, skeleton.x + bone.worldX, skeleton.y + bone.worldY, 20, colorOuter);
|
||||
}
|
||||
renderer.end();
|
||||
gl.lineWidth(1);
|
||||
|
||||
|
||||
@ -100,7 +100,7 @@ var imageChangesDemo = function(loadingComplete, bgColor) {
|
||||
var anim = skeletonData.findAnimation(animation);
|
||||
state.setAnimation(0, animation, true);
|
||||
if (name === "alien") {
|
||||
state.update(anim.duration / 2.5);
|
||||
state.update(anim.duration / 1.4);
|
||||
}
|
||||
state.apply(skeleton);
|
||||
skeleton.updateWorldTransform();
|
||||
@ -108,7 +108,7 @@ var imageChangesDemo = function(loadingComplete, bgColor) {
|
||||
var size = new spine.Vector2();
|
||||
skeleton.getBounds(offset, size, []);
|
||||
if (name === "alien") {
|
||||
state.update(-anim.duration / 2.5);
|
||||
state.update(-anim.duration / 1.4);
|
||||
}
|
||||
|
||||
var regions = [];
|
||||
@ -146,6 +146,7 @@ var imageChangesDemo = function(loadingComplete, bgColor) {
|
||||
|
||||
var x = offset.x + size.x + 100, offsetY = offset.y;
|
||||
if (activeSkeleton === "Alien") {
|
||||
skeleton.x = -400;
|
||||
renderer.camera.position.x = offset.x + size.x - 100;
|
||||
renderer.camera.position.y = offset.y + size.y / 2 + 100;
|
||||
offsetY += 125;
|
||||
|
||||
@ -208,6 +208,7 @@ var skinsDemo = function(loadingComplete, bgColor) {
|
||||
|
||||
state.update(delta);
|
||||
state.apply(skeleton);
|
||||
skeleton.y = -150;
|
||||
skeleton.updateWorldTransform();
|
||||
|
||||
renderer.begin();
|
||||
|
||||
@ -175,7 +175,7 @@ var stretchymanDemo = function(loadingComplete, bgColor) {
|
||||
skeleton.updateWorldTransform();
|
||||
|
||||
renderer.camera.viewportWidth = bounds.x * 1.2;
|
||||
renderer.camera.viewportHeight = bounds.y * 1.2;
|
||||
renderer.camera.viewportHeight = bounds.y * 1.5;
|
||||
renderer.resize(spine.webgl.ResizeMode.Fit);
|
||||
|
||||
gl.clearColor(bgColor.r, bgColor.g, bgColor.b, bgColor.a);
|
||||
|
||||
@ -60,8 +60,8 @@ var transformsDemo = function(loadingComplete, bgColor) {
|
||||
skeleton.updateWorldTransform();
|
||||
rotateHandle = skeleton.findBone("rotate-handle");
|
||||
|
||||
renderer.camera.position.x = offset.x + bounds.x / 2;
|
||||
renderer.camera.position.y = offset.y + bounds.y / 2;
|
||||
renderer.camera.position.x = offset.x + bounds.x / 2 + 70;
|
||||
renderer.camera.position.y = offset.y + bounds.y / 2 + 50;
|
||||
|
||||
renderer.skeletonDebugRenderer.drawRegionAttachments = false;
|
||||
renderer.skeletonDebugRenderer.drawMeshHull = false;
|
||||
@ -161,10 +161,9 @@ var transformsDemo = function(loadingComplete, bgColor) {
|
||||
function render () {
|
||||
timeKeeper.update();
|
||||
var delta = timeKeeper.delta;
|
||||
|
||||
skeleton.updateWorldTransform();
|
||||
|
||||
renderer.camera.viewportWidth = bounds.x * 1.2;
|
||||
renderer.camera.viewportWidth = bounds.x * 1.6;
|
||||
renderer.camera.viewportHeight = bounds.y * 1.2;
|
||||
renderer.resize(spine.webgl.ResizeMode.Fit);
|
||||
|
||||
|
||||
@ -123,8 +123,8 @@ var transitionsDemo = function(loadingComplete, bgColor) {
|
||||
|
||||
renderer.camera.position.x = offset.x + size.x - 50;
|
||||
renderer.camera.position.y = offset.y + size.y / 2 - 40;
|
||||
renderer.camera.viewportWidth = size.x * 2.4;
|
||||
renderer.camera.viewportHeight = size.y * 1.2;
|
||||
renderer.camera.viewportWidth = size.x * 2;
|
||||
renderer.camera.viewportHeight = size.y * 2;
|
||||
renderer.resize(spine.webgl.ResizeMode.Fit);
|
||||
|
||||
gl.clearColor(bgColor.r, bgColor.g, bgColor.b, bgColor.a);
|
||||
@ -134,13 +134,15 @@ var transitionsDemo = function(loadingComplete, bgColor) {
|
||||
state.update(delta);
|
||||
state.apply(skeleton);
|
||||
skeleton.updateWorldTransform();
|
||||
skeleton.x = -10;
|
||||
skeleton.x = -300;
|
||||
skeleton.y = -100;
|
||||
renderer.drawSkeleton(skeleton, true);
|
||||
|
||||
stateNoMix.update(delta);
|
||||
stateNoMix.apply(skeletonNoMix);
|
||||
skeletonNoMix.updateWorldTransform();
|
||||
skeletonNoMix.x = size.x + 45;
|
||||
skeletonNoMix.y = -100;
|
||||
renderer.drawSkeleton(skeletonNoMix, true);
|
||||
renderer.end();
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user