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