mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-08 16:24:53 +08:00
[libgdx] SkeletonViewer reload button retries last file if it failed. Smaller minimized size.
This commit is contained in:
parent
351d42f511
commit
55bb8fc65a
@ -79,7 +79,7 @@ public class SkeletonViewer extends ApplicationAdapter {
|
|||||||
SkeletonData skeletonData;
|
SkeletonData skeletonData;
|
||||||
Skeleton skeleton;
|
Skeleton skeleton;
|
||||||
AnimationState state;
|
AnimationState state;
|
||||||
FileHandle skeletonFile;
|
FileHandle skeletonFile, lastFile;
|
||||||
long skeletonModified, atlasModified;
|
long skeletonModified, atlasModified;
|
||||||
float lastModifiedCheck, reloadTimer;
|
float lastModifiedCheck, reloadTimer;
|
||||||
final StringBuilder status = new StringBuilder();
|
final StringBuilder status = new StringBuilder();
|
||||||
@ -131,6 +131,7 @@ public class SkeletonViewer extends ApplicationAdapter {
|
|||||||
|
|
||||||
FileHandle oldSkeletonFile = this.skeletonFile;
|
FileHandle oldSkeletonFile = this.skeletonFile;
|
||||||
this.skeletonFile = skeletonFile;
|
this.skeletonFile = skeletonFile;
|
||||||
|
lastFile = skeletonFile;
|
||||||
reloadTimer = 0;
|
reloadTimer = 0;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -86,11 +86,12 @@ class SkeletonViewerUI {
|
|||||||
Window window = new Window("Skeleton", skin);
|
Window window = new Window("Skeleton", skin);
|
||||||
Table root = new Table(skin);
|
Table root = new Table(skin);
|
||||||
TextButton openButton = new TextButton("Open", skin);
|
TextButton openButton = new TextButton("Open", skin);
|
||||||
|
TextButton reloadButton = new TextButton("Reload", skin);
|
||||||
TextButton minimizeButton = new TextButton("-", skin);
|
TextButton minimizeButton = new TextButton("-", skin);
|
||||||
|
|
||||||
Slider loadScaleSlider = new Slider(0.1f, 3, 0.01f, false, skin);
|
Slider loadScaleSlider = new Slider(0.1f, 3, 0.01f, false, skin);
|
||||||
Label loadScaleLabel = new Label("100%", skin);
|
Label loadScaleLabel = new Label("100%", skin);
|
||||||
TextButton loadScaleResetButton = new TextButton("Reload", skin);
|
TextButton loadScaleResetButton = new TextButton("Reset", skin);
|
||||||
|
|
||||||
Slider zoomSlider = new Slider(0.01f, 10, 0.01f, false, skin);
|
Slider zoomSlider = new Slider(0.01f, 10, 0.01f, false, skin);
|
||||||
Label zoomLabel = new Label("100%", skin);
|
Label zoomLabel = new Label("100%", skin);
|
||||||
@ -207,7 +208,8 @@ class SkeletonViewerUI {
|
|||||||
window.setY(-2);
|
window.setY(-2);
|
||||||
|
|
||||||
window.getTitleLabel().setColor(new Color(0xc1ffffff));
|
window.getTitleLabel().setColor(new Color(0xc1ffffff));
|
||||||
window.getTitleTable().add(openButton).space(3);
|
window.getTitleTable().add(openButton).spaceLeft(10);
|
||||||
|
window.getTitleTable().add(reloadButton).space(3);
|
||||||
window.getTitleTable().add(minimizeButton).width(20);
|
window.getTitleTable().add(minimizeButton).width(20);
|
||||||
|
|
||||||
skinScroll.setFadeScrollBars(false);
|
skinScroll.setFadeScrollBars(false);
|
||||||
@ -383,6 +385,13 @@ class SkeletonViewerUI {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
reloadButton.addListener(new ChangeListener() {
|
||||||
|
public void changed (ChangeEvent event, Actor actor) {
|
||||||
|
viewer.resetCameraPosition();
|
||||||
|
if (viewer.loadSkeleton(viewer.lastFile)) toast("Reloaded.");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
minimizeButton.addListener(new ClickListener() {
|
minimizeButton.addListener(new ClickListener() {
|
||||||
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
|
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
|
||||||
event.cancel();
|
event.cancel();
|
||||||
@ -399,6 +408,7 @@ class SkeletonViewerUI {
|
|||||||
window.setHeight(Gdx.graphics.getHeight() / SkeletonViewer.uiScale + 8);
|
window.setHeight(Gdx.graphics.getHeight() / SkeletonViewer.uiScale + 8);
|
||||||
minimizeButton.setText("-");
|
minimizeButton.setText("-");
|
||||||
}
|
}
|
||||||
|
window.setWidth(window.getPrefWidth());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -406,17 +416,12 @@ class SkeletonViewerUI {
|
|||||||
public void changed (ChangeEvent event, Actor actor) {
|
public void changed (ChangeEvent event, Actor actor) {
|
||||||
loadScaleLabel.setText(Integer.toString((int)(loadScaleSlider.getValue() * 100)) + "%");
|
loadScaleLabel.setText(Integer.toString((int)(loadScaleSlider.getValue() * 100)) + "%");
|
||||||
if (!loadScaleSlider.isDragging() && viewer.loadSkeleton(viewer.skeletonFile)) toast("Reloaded.");
|
if (!loadScaleSlider.isDragging() && viewer.loadSkeleton(viewer.skeletonFile)) toast("Reloaded.");
|
||||||
loadScaleResetButton.setText(loadScaleSlider.getValue() == 1 ? "Reload" : "Reset");
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
loadScaleResetButton.addListener(new ChangeListener() {
|
loadScaleResetButton.addListener(new ChangeListener() {
|
||||||
public void changed (ChangeEvent event, Actor actor) {
|
public void changed (ChangeEvent event, Actor actor) {
|
||||||
viewer.resetCameraPosition();
|
viewer.resetCameraPosition();
|
||||||
if (loadScaleSlider.getValue() == 1) {
|
loadScaleSlider.setValue(1);
|
||||||
if (viewer.loadSkeleton(viewer.skeletonFile)) toast("Reloaded.");
|
|
||||||
} else
|
|
||||||
loadScaleSlider.setValue(1);
|
|
||||||
loadScaleResetButton.setText("Reload");
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user