简体   繁体   English

Libgdx 将运动图像返回到原始位置

[英]Libgdx return moving image back to original position

I have this image displayed on the screen from an array (at 50,100) where when the user touches that image, it moves to a different position on the screen (100,200), I want to know how can the user touch that same image again and it moves back to the original position.我将这个图像从一个数组(50,100)显示在屏幕上,当用户触摸该图像时,它会移动到屏幕上的不同位置(100,200),我想知道用户如何再次触摸相同的图像和它移动回原来的位置。

        final Image img = pic.get(0);
        pic.get(0).addListener(new ClickListener(){
            @Override
            public void clicked(InputEvent event, float x, float y) {
                System.out.println("CLICKED!!!");
                img.addAction(Actions.moveTo(300,700));
            }
        });
   }

Save the previous Position.If the image by clicked not on the previous position go back to the previous Position else go to the new position:保存上一个位置。如果单击的图像不在上一个位置,则返回上一个位置,否则转到新位置:

final Image img = pic.get(0);
final float prevX = img.getX(), prevY = img.getY();

img.addListener(new ClickListener(){
    @Override
    public void clicked(InputEvent event, float x, float y) {
        System.out.println("CLICKED!!!");
        if(img.getX() != prevX || img.getY() != prevY)
            img.addAction(Actions.moveTo(prevX, prevY));
        else
            img.addAction(Actions.moveTo(300,700));
    }
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM