Java 每次单击精灵时,LibGDX中的Actions()都会累积错误

Java 每次单击精灵时,LibGDX中的Actions()都会累积错误,java,android,libgdx,Java,Android,Libgdx,操作累积一个错误,该错误随着每次单击而增加 我在做游戏。当我点击精灵时,会弹出一个对话框。此对话框将显示我通过Actions()执行的动画。最初,对话框会平滑地打开、缩放,也会平滑地关闭。但在打开和关闭对话框大约10次后,错误变得明显。对话框开始快速打开和关闭。我越是单击精灵,对话框的动画效果就越差 @Override public boolean touchDown(int screenX, int screenY, int pointer, int button) { vector2

操作累积一个错误,该错误随着每次单击而增加

我在做游戏。当我点击精灵时,会弹出一个对话框。此对话框将显示我通过Actions()执行的动画。最初,对话框会平滑地打开、缩放,也会平滑地关闭。但在打开和关闭对话框大约10次后,错误变得明显。对话框开始快速打开和关闭。我越是单击精灵,对话框的动画效果就越差

@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
    vector2 = new Vector2(screenX, Gdx.graphics.getHeight() - screenY);

if (sprite_1.getBoundingRectangle().contains(vector2)) {
    switch (serverClass.point1) {
        case 0:
            Gdx.app.log("1", "drops");

win_dialog_alpha_white.addAction(Actions.fadeIn(.2f)); //this window covers all sprites
stage_dialogs.addActor(win_dialog_01_1);

win_dialog_01_1.setModal(true);

win_dialog_01_1.addAction(
    Actions.fadeOut(0));

win_dialog_01_1.addAction(Actions.parallel(
    Actions.fadeIn(.2f)
    , Actions.scaleTo(1.05f, 1.05f, .2f)));

win_dialog_01_1.addAction(Actions.sequence(
    Actions.delay(.2f)
    , Actions.scaleTo(1, 1, .2f)));

button_close.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
    win_dialog_alpha_white.addAction(Actions.fadeOut(.3f));
    win_dialog_01_1.setModal(false);
    win_dialog_01_1.addAction(Actions.parallel(
        Actions.fadeOut(.4f)
            , Actions.scaleTo(1.05f, 1.05f, .2f)));
    win_dialog_01_1.addAction(Actions.sequence(
        Actions.delay(.2f)
            , Actions.scaleTo(1, 1, .2f)));
                    }
    });
    break;
“win_dialog_01_1”是一个单独的类(扩展窗口),但按钮“button_close”是在主类中创建的,然后添加到“win_dialog_01_1”的实例中


我找不到错误累积的位置。

是否将侦听器添加到
按钮\u close
每次触摸它时都要执行的操作?我不知道,因为您删除了太多代码,我看不到上下文。如果每次使用该对话框时都要添加相同侦听器的副本,则该对话框将同时运行相同操作的多个副本,这将导致您描述的抖动。我编辑了代码。在show()方法中添加了关闭按钮。班级很大,我不能在这里写。我还是说不出来。您是否在
触地
方法内调用
按钮\u close.addListener
?是的,触地方法内的按钮\u close.addListener。我不能这样做吗?@Tenfour04我将button_close.addListener从触地方法中移除,看起来问题消失了。谢谢你的帮助。