拖放后更新图像的位置
Update position of Image after drag and drop
我在我的一些图像上实现了拖放功能。而且它的效果很好,除了图像的新位置没有保存,每次我重新启动应用程序时它们最终都在左下角。我是这样做的:
public GameScreen() {
stageImage = new Stage();
@Override
public void render(float delta) {
game.batch.setProjectionMatrix(camera.combined);
camera.update();
game.batch.begin();
flowerImage.setSize(300, 300);
stageMove.act(Gdx.graphics.getDeltaTime());
stageMove.draw();
}
@Override
public void show() {
flowerImage.addListener(new DragListener() {
public void drag(InputEvent event, float x, float y, int pointer) {
flowerImage.moveBy(x - flowerImage.getWidth() / 2, y - flowerImage.getHeight() / 2);
flowerImage.setPosition(x,y);
}
});
stageMove.addActor(flowerImage);
btnArrow.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
stageMove.clear();
game.setScreen(0);
我必须在退出屏幕时.clear() 舞台,否则当我重新进入时舞台将创建图像的副本。
那么有人对此有解决方案吗?我试过只扮演舞台并从它的来源绘制图像,但效果相同。
"Isn't saved" - 你希望谁为你保存它?您必须在拖动后保存它并在您的应用程序启动时加载它。
我在我的一些图像上实现了拖放功能。而且它的效果很好,除了图像的新位置没有保存,每次我重新启动应用程序时它们最终都在左下角。我是这样做的:
public GameScreen() {
stageImage = new Stage();
@Override
public void render(float delta) {
game.batch.setProjectionMatrix(camera.combined);
camera.update();
game.batch.begin();
flowerImage.setSize(300, 300);
stageMove.act(Gdx.graphics.getDeltaTime());
stageMove.draw();
}
@Override
public void show() {
flowerImage.addListener(new DragListener() {
public void drag(InputEvent event, float x, float y, int pointer) {
flowerImage.moveBy(x - flowerImage.getWidth() / 2, y - flowerImage.getHeight() / 2);
flowerImage.setPosition(x,y);
}
});
stageMove.addActor(flowerImage);
btnArrow.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
stageMove.clear();
game.setScreen(0);
我必须在退出屏幕时.clear() 舞台,否则当我重新进入时舞台将创建图像的副本。 那么有人对此有解决方案吗?我试过只扮演舞台并从它的来源绘制图像,但效果相同。
"Isn't saved" - 你希望谁为你保存它?您必须在拖动后保存它并在您的应用程序启动时加载它。