Merge remote-tracking branch 'origin/3.6-beta' into 3.6-beta

This commit is contained in:
Nathan Sweet 2017-04-08 00:15:22 +09:00
commit 68d0db8f35
7 changed files with 37 additions and 27 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -208,6 +208,7 @@ var skinsDemo = function(loadingComplete, bgColor) {
state.update(delta);
state.apply(skeleton);
skeleton.y = -150;
skeleton.updateWorldTransform();
renderer.begin();

View File

@ -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);

View File

@ -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);

View File

@ -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();