【发布时间】:2016-07-20 01:36:14
【问题描述】:
我目前正在尝试实现一个 clickListener。 我找到了一个很棒的运行时工具,它叫做 Overlap2D,在那里我做了一些不错的按钮并加载了它们,一切都很好。 因为我想为我的按钮制作一个“悬停”效果,所以我使用 ClickListener 和方法进入和退出,它看起来是这样的:
@Override
public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor){
playButton.setLayerVisibility("MouseOver", true);
playButton.setLayerVisibility("pressed", false);
playButton.setLayerVisibility("normal", false);
System.out.println("Actor enter : "+fromActor);
}
@Override
public void exit(InputEvent event, float x, float y, int pointer, Actor toActor){
playButton.setLayerVisibility("MouseOver", false);
playButton.setLayerVisibility("pressed", false);
playButton.setLayerVisibility("normal", true);
System.out.println("Actor exit : "+toActor);
}
@Override
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button){
System.out.println("touchdown");
return true;
}
@Override
public void touchUp (InputEvent event, float x, float y, int pointer, int button){
System.out.println("touchup");
}
这里的问题是,当我按下按钮或向上时,一次调用 touchdown 和 touchup。但是在 touchdown 和 touchupo 事件 O.o 期间也会调用 enter 和 exit 方法,如下所示:
touchdown
Actor enter : null
Actor exit : Image
Actor enter : Image
touchup
Actor exit : Image
Actor exit : Image
Actor enter : Image
Actor exit : Image
Actor enter : Image
我打印了 fromActor 和 toActor 也用于调试^^ 而且我仍然不知道为什么它会触发退出和进入事件这么多...... 有人有想法吗?
谢谢:)
【问题讨论】:
标签: java button libgdx clicklistener overlap2d