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;
|
if (skeleton.scaleY == 0) skeleton.scaleY = 0.01f;
|
||||||
skeleton.setScale(scaleX, scaleY);
|
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();
|
delta = Math.min(delta, 0.032f) * ui.speedSlider.getValue();
|
||||||
skeleton.update(delta);
|
skeleton.update(delta);
|
||||||
state.update(delta);
|
state.update(delta);
|
||||||
|
|||||||
@ -88,9 +88,9 @@ class SkeletonViewerUI {
|
|||||||
|
|
||||||
CheckBox linearCheckbox = new CheckBox("Linear", skin);
|
CheckBox linearCheckbox = new CheckBox("Linear", skin);
|
||||||
|
|
||||||
TextButton bonesSetupPoseButton = new TextButton("Bones", skin);
|
TextButton bonesSetupPoseButton = new TextButton("Bones", skin, "toggle");
|
||||||
TextButton slotsSetupPoseButton = new TextButton("Slots", skin);
|
TextButton slotsSetupPoseButton = new TextButton("Slots", skin, "toggle");
|
||||||
TextButton setupPoseButton = new TextButton("Both", skin);
|
TextButton setupPoseButton = new TextButton("Both", skin, "toggle");
|
||||||
|
|
||||||
List<String> skinList = new List(skin);
|
List<String> skinList = new List(skin);
|
||||||
ScrollPane skinScroll = new ScrollPane(skinList, skin, "bg");
|
ScrollPane skinScroll = new ScrollPane(skinList, skin, "bg");
|
||||||
@ -136,6 +136,8 @@ class SkeletonViewerUI {
|
|||||||
|
|
||||||
linearCheckbox.setChecked(true);
|
linearCheckbox.setChecked(true);
|
||||||
|
|
||||||
|
new ButtonGroup(bonesSetupPoseButton, slotsSetupPoseButton, setupPoseButton).setMinCheckCount(0);
|
||||||
|
|
||||||
loopCheckbox.setChecked(true);
|
loopCheckbox.setChecked(true);
|
||||||
|
|
||||||
loadScaleSlider.setValue(1);
|
loadScaleSlider.setValue(1);
|
||||||
@ -347,7 +349,6 @@ class SkeletonViewerUI {
|
|||||||
});
|
});
|
||||||
slotsSetupPoseButton.addListener(new ChangeListener() {
|
slotsSetupPoseButton.addListener(new ChangeListener() {
|
||||||
public void changed (ChangeEvent event, Actor actor) {
|
public void changed (ChangeEvent event, Actor actor) {
|
||||||
viewer.skeleton.getRootBone().getChildren();
|
|
||||||
if (viewer.skeleton != null) viewer.skeleton.setSlotsToSetupPose();
|
if (viewer.skeleton != null) viewer.skeleton.setSlotsToSetupPose();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -594,6 +595,10 @@ class SkeletonViewerUI {
|
|||||||
debugPointsCheckbox.addListener(savePrefsListener);
|
debugPointsCheckbox.addListener(savePrefsListener);
|
||||||
debugClippingCheckbox.addListener(savePrefsListener);
|
debugClippingCheckbox.addListener(savePrefsListener);
|
||||||
pmaCheckbox.addListener(savePrefsListener);
|
pmaCheckbox.addListener(savePrefsListener);
|
||||||
|
linearCheckbox.addListener(savePrefsListener);
|
||||||
|
bonesSetupPoseButton.addListener(savePrefsListener);
|
||||||
|
slotsSetupPoseButton.addListener(savePrefsListener);
|
||||||
|
setupPoseButton.addListener(savePrefsListener);
|
||||||
loopCheckbox.addListener(savePrefsListener);
|
loopCheckbox.addListener(savePrefsListener);
|
||||||
addCheckbox.addListener(savePrefsListener);
|
addCheckbox.addListener(savePrefsListener);
|
||||||
holdPrevCheckbox.addListener(savePrefsListener);
|
holdPrevCheckbox.addListener(savePrefsListener);
|
||||||
@ -662,6 +667,15 @@ class SkeletonViewerUI {
|
|||||||
prefs.putBoolean("debugPoints", debugPointsCheckbox.isChecked());
|
prefs.putBoolean("debugPoints", debugPointsCheckbox.isChecked());
|
||||||
prefs.putBoolean("debugClipping", debugClippingCheckbox.isChecked());
|
prefs.putBoolean("debugClipping", debugClippingCheckbox.isChecked());
|
||||||
prefs.putBoolean("premultiplied", pmaCheckbox.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("loop", loopCheckbox.isChecked());
|
||||||
prefs.putBoolean("add", addCheckbox.isChecked());
|
prefs.putBoolean("add", addCheckbox.isChecked());
|
||||||
prefs.putBoolean("holdPrev", holdPrevCheckbox.isChecked());
|
prefs.putBoolean("holdPrev", holdPrevCheckbox.isChecked());
|
||||||
@ -695,6 +709,11 @@ class SkeletonViewerUI {
|
|||||||
debugPointsCheckbox.setChecked(prefs.getBoolean("debugPoints", true));
|
debugPointsCheckbox.setChecked(prefs.getBoolean("debugPoints", true));
|
||||||
debugClippingCheckbox.setChecked(prefs.getBoolean("debugClipping", true));
|
debugClippingCheckbox.setChecked(prefs.getBoolean("debugClipping", true));
|
||||||
pmaCheckbox.setChecked(prefs.getBoolean("premultiplied", 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));
|
loopCheckbox.setChecked(prefs.getBoolean("loop", true));
|
||||||
addCheckbox.setChecked(prefs.getBoolean("add", false));
|
addCheckbox.setChecked(prefs.getBoolean("add", false));
|
||||||
holdPrevCheckbox.setChecked(prefs.getBoolean("holdPrev", false));
|
holdPrevCheckbox.setChecked(prefs.getBoolean("holdPrev", false));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user