mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
[libgdx] Added slider loop property.
This commit is contained in:
parent
6793861875
commit
96a8efef6b
@ -418,9 +418,10 @@ public class SkeletonBinary extends SkeletonLoader {
|
|||||||
case CONSTRAINT_SLIDER -> {
|
case CONSTRAINT_SLIDER -> {
|
||||||
var data = new SliderData(name);
|
var data = new SliderData(name);
|
||||||
data.skinRequired = (nn & 1) != 0;
|
data.skinRequired = (nn & 1) != 0;
|
||||||
data.additive = (nn & 2) != 0;
|
data.loop = (nn & 2) != 0;
|
||||||
if ((nn & 4) != 0) data.setup.mix = (nn & 8) != 0 ? input.readFloat() : 1;
|
data.additive = (nn & 4) != 0;
|
||||||
if ((nn & 16) != 0) data.setup.time = input.readFloat();
|
if ((nn & 8) != 0) data.setup.mix = (nn & 16) != 0 ? input.readFloat() : 1;
|
||||||
|
if ((nn & 32) != 0) data.setup.time = input.readFloat();
|
||||||
constraints[i] = data;
|
constraints[i] = data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -408,6 +408,7 @@ public class SkeletonJson extends SkeletonLoader {
|
|||||||
case "slider" -> {
|
case "slider" -> {
|
||||||
var data = new SliderData(name);
|
var data = new SliderData(name);
|
||||||
data.skinRequired = skinRequired;
|
data.skinRequired = skinRequired;
|
||||||
|
data.loop = constraintMap.getBoolean("loop", false);
|
||||||
data.additive = constraintMap.getBoolean("additive", false);
|
data.additive = constraintMap.getBoolean("additive", false);
|
||||||
data.setup.time = constraintMap.getFloat("time", 0);
|
data.setup.time = constraintMap.getFloat("time", 0);
|
||||||
data.setup.mix = constraintMap.getFloat("mix", 1);
|
data.setup.mix = constraintMap.getFloat("mix", 1);
|
||||||
|
|||||||
@ -71,8 +71,8 @@ public class Slider extends Constraint<Slider, SliderData, SliderPose> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SliderPose pose = applied;
|
SliderPose pose = applied;
|
||||||
data.animation.apply(skeleton, pose.time, pose.time, false, null, pose.mix, data.additive ? MixBlend.add : MixBlend.replace,
|
data.animation.apply(skeleton, pose.time, pose.time, data.loop, null, pose.mix,
|
||||||
MixDirection.in, true);
|
data.additive ? MixBlend.add : MixBlend.replace, MixDirection.in, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sort (Skeleton skeleton) {
|
void sort (Skeleton skeleton) {
|
||||||
|
|||||||
@ -34,7 +34,7 @@ package com.esotericsoftware.spine;
|
|||||||
* See <a href="https://esotericsoftware.com/spine-physics-constraints">Physics constraints</a> in the Spine User Guide. */
|
* See <a href="https://esotericsoftware.com/spine-physics-constraints">Physics constraints</a> in the Spine User Guide. */
|
||||||
public class SliderData extends ConstraintData<Slider, SliderPose> {
|
public class SliderData extends ConstraintData<Slider, SliderPose> {
|
||||||
Animation animation;
|
Animation animation;
|
||||||
boolean additive;
|
boolean additive, loop;
|
||||||
|
|
||||||
public SliderData (String name) {
|
public SliderData (String name) {
|
||||||
super(name, new SliderPose());
|
super(name, new SliderPose());
|
||||||
@ -59,4 +59,12 @@ public class SliderData extends ConstraintData<Slider, SliderPose> {
|
|||||||
public void setAdditive (boolean additive) {
|
public void setAdditive (boolean additive) {
|
||||||
this.additive = additive;
|
this.additive = additive;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean getLoop () {
|
||||||
|
return loop;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLoop (boolean loop) {
|
||||||
|
this.loop = loop;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user