mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 14:24:53 +08:00
[libgdx] Skeleton Viewer, allow setting setup pose every frame. Store linear.
This commit is contained in:
parent
91f7969cdc
commit
0e3722861f
@ -250,6 +250,13 @@ public class SkeletonViewer extends ApplicationAdapter {
|
||||
if (skeleton.scaleY == 0) skeleton.scaleY = 0.01f;
|
||||
skeleton.setScale(scaleX, scaleY);
|
||||
|
||||
if (ui.setupPoseButton.isChecked())
|
||||
skeleton.setToSetupPose();
|
||||
else if (ui.bonesSetupPoseButton.isChecked())
|
||||
skeleton.setBonesToSetupPose();
|
||||
else if (ui.slotsSetupPoseButton.isChecked()) //
|
||||
skeleton.setSlotsToSetupPose();
|
||||
|
||||
delta = Math.min(delta, 0.032f) * ui.speedSlider.getValue();
|
||||
skeleton.update(delta);
|
||||
state.update(delta);
|
||||
|
||||
@ -88,9 +88,9 @@ class SkeletonViewerUI {
|
||||
|
||||
CheckBox linearCheckbox = new CheckBox("Linear", skin);
|
||||
|
||||
TextButton bonesSetupPoseButton = new TextButton("Bones", skin);
|
||||
TextButton slotsSetupPoseButton = new TextButton("Slots", skin);
|
||||
TextButton setupPoseButton = new TextButton("Both", skin);
|
||||
TextButton bonesSetupPoseButton = new TextButton("Bones", skin, "toggle");
|
||||
TextButton slotsSetupPoseButton = new TextButton("Slots", skin, "toggle");
|
||||
TextButton setupPoseButton = new TextButton("Both", skin, "toggle");
|
||||
|
||||
List<String> skinList = new List(skin);
|
||||
ScrollPane skinScroll = new ScrollPane(skinList, skin, "bg");
|
||||
@ -136,6 +136,8 @@ class SkeletonViewerUI {
|
||||
|
||||
linearCheckbox.setChecked(true);
|
||||
|
||||
new ButtonGroup(bonesSetupPoseButton, slotsSetupPoseButton, setupPoseButton).setMinCheckCount(0);
|
||||
|
||||
loopCheckbox.setChecked(true);
|
||||
|
||||
loadScaleSlider.setValue(1);
|
||||
@ -347,7 +349,6 @@ class SkeletonViewerUI {
|
||||
});
|
||||
slotsSetupPoseButton.addListener(new ChangeListener() {
|
||||
public void changed (ChangeEvent event, Actor actor) {
|
||||
viewer.skeleton.getRootBone().getChildren();
|
||||
if (viewer.skeleton != null) viewer.skeleton.setSlotsToSetupPose();
|
||||
}
|
||||
});
|
||||
@ -594,6 +595,10 @@ class SkeletonViewerUI {
|
||||
debugPointsCheckbox.addListener(savePrefsListener);
|
||||
debugClippingCheckbox.addListener(savePrefsListener);
|
||||
pmaCheckbox.addListener(savePrefsListener);
|
||||
linearCheckbox.addListener(savePrefsListener);
|
||||
bonesSetupPoseButton.addListener(savePrefsListener);
|
||||
slotsSetupPoseButton.addListener(savePrefsListener);
|
||||
setupPoseButton.addListener(savePrefsListener);
|
||||
loopCheckbox.addListener(savePrefsListener);
|
||||
addCheckbox.addListener(savePrefsListener);
|
||||
holdPrevCheckbox.addListener(savePrefsListener);
|
||||
@ -662,6 +667,15 @@ class SkeletonViewerUI {
|
||||
prefs.putBoolean("debugPoints", debugPointsCheckbox.isChecked());
|
||||
prefs.putBoolean("debugClipping", debugClippingCheckbox.isChecked());
|
||||
prefs.putBoolean("premultiplied", pmaCheckbox.isChecked());
|
||||
prefs.putBoolean("linear", linearCheckbox.isChecked());
|
||||
if (bonesSetupPoseButton.isChecked())
|
||||
prefs.putString("setupPose", "bones");
|
||||
else if (slotsSetupPoseButton.isChecked())
|
||||
prefs.putString("setupPose", "slots");
|
||||
else if (setupPoseButton.isChecked()) //
|
||||
prefs.putString("setupPose", "both");
|
||||
else
|
||||
prefs.remove("setupPose");
|
||||
prefs.putBoolean("loop", loopCheckbox.isChecked());
|
||||
prefs.putBoolean("add", addCheckbox.isChecked());
|
||||
prefs.putBoolean("holdPrev", holdPrevCheckbox.isChecked());
|
||||
@ -695,6 +709,11 @@ class SkeletonViewerUI {
|
||||
debugPointsCheckbox.setChecked(prefs.getBoolean("debugPoints", true));
|
||||
debugClippingCheckbox.setChecked(prefs.getBoolean("debugClipping", true));
|
||||
pmaCheckbox.setChecked(prefs.getBoolean("premultiplied", true));
|
||||
linearCheckbox.setChecked(prefs.getBoolean("linear", true));
|
||||
String setupPose = prefs.getString("setupPose", "");
|
||||
bonesSetupPoseButton.setChecked(setupPose.equals("bones"));
|
||||
slotsSetupPoseButton.setChecked(setupPose.equals("slots"));
|
||||
setupPoseButton.setChecked(setupPose.equals("both"));
|
||||
loopCheckbox.setChecked(prefs.getBoolean("loop", true));
|
||||
addCheckbox.setChecked(prefs.getBoolean("add", false));
|
||||
holdPrevCheckbox.setChecked(prefs.getBoolean("holdPrev", false));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user