Added die button.

This commit is contained in:
NathanSweet 2017-09-13 13:19:31 +02:00
parent 97bedf22bb
commit bcea86ab95
2 changed files with 19 additions and 15 deletions

View File

@ -11,7 +11,8 @@
<center> <center>
<div class="aspect"><div><canvas id="transitions-canvas"></canvas></div></div> <div class="aspect"><div><canvas id="transitions-canvas"></canvas></div></div>
Time multiplier Time multiplier
<div id="transitions-timeslider" class="slider filled"></div> <div id="transitions-timeslider" class="slider filled"></div><br>
<button id="transitions-die">Die</button>
</center> </center>
<script> <script>

View File

@ -45,9 +45,9 @@ var transitionsDemo = function(loadingComplete, bgColor) {
skeletonNoMix = new spine.Skeleton(skeleton.data); skeletonNoMix = new spine.Skeleton(skeleton.data);
state = createState(0.25); state = createState(0.25);
state.multipleMixing = true; state.multipleMixing = true;
setAnimations(state, 0, true); setAnimations(state, 0, 0);
stateNoMix = createState(0); stateNoMix = createState(0);
setAnimations(stateNoMix, -0.25, true); setAnimations(stateNoMix, -0.25, 0);
state.apply(skeleton); state.apply(skeleton);
skeleton.updateWorldTransform(); skeleton.updateWorldTransform();
@ -64,33 +64,36 @@ var transitionsDemo = function(loadingComplete, bgColor) {
} }
function setupInput() { function setupInput() {
input.addListener({ $("#transitions-die").click(function () {
down: function(x, y) { }, var entry = state.setAnimation(0, "death", false);
up: function(x, y) { }, setAnimations(state, 0, true, 0);
moved: function(x, y) { }, entry.next.mixDuration = 0.1;
dragged: function(x, y) { }
var entry = stateNoMix.setAnimation(0, "death", false);
setAnimations(stateNoMix, -0.25, -0.25 + -0.1);
}); });
} }
function createState(mix) { function createState (mix) {
var stateData = new spine.AnimationStateData(skeleton.data); var stateData = new spine.AnimationStateData(skeleton.data);
stateData.defaultMix = mix; stateData.defaultMix = mix;
var state = new spine.AnimationState(stateData); var state = new spine.AnimationState(stateData);
return state; return state;
} }
function setAnimations(state, mix, first) { function setAnimations (state, delay, first) {
state.addAnimation(0, "idle", true, first ? 0 : 0.6); state.addAnimation(0, "idle", true, first);
state.addAnimation(0, "walk", true, 0.6); state.addAnimation(0, "walk", true, 0.6);
state.addAnimation(0, "run", true, 1); state.addAnimation(0, "jump", false, 1);
state.addAnimation(0, "run", true, delay);
state.addAnimation(0, "walk", true, 1.2); state.addAnimation(0, "walk", true, 1.2);
state.addAnimation(0, "run", true, 0.5); state.addAnimation(0, "run", true, 0.5);
state.addAnimation(0, "jump", false, 1); state.addAnimation(0, "jump", false, 1);
state.addAnimation(0, "run", true, mix); state.addAnimation(0, "run", true, delay);
state.addAnimation(0, "jump", true, 0.5); state.addAnimation(0, "jump", true, 0.5);
state.addAnimation(0, "walk", true, mix).listener = { state.addAnimation(0, "walk", true, delay).listener = {
start: function (trackIndex) { start: function (trackIndex) {
setAnimations(state, mix, false); setAnimations(state, delay, 0.6);
} }
}; };
} }