- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想使用 InputListener 中的 exit() 方法来查看光标是否在按钮内。
这是 libGDX 文档中的解释。
public void exit(InputEvent event, float x, float y, int pointer, Actor toActor)
Called any time the mouse cursor or a finger touch is moved out of an actor.
但是当我将光标放在按钮上然后将其移到按钮外时,不会调用该方法。我正在通过 System.out.println("exited");
对其进行测试,但我在控制台中什么也得不到。
编辑:
LibGDX 版本: 最新稳定版
InputListener 实现:
//This button class is a custom class to make button creation easier. This is the constructor.
public Button(Vector2 position, String packLocation, String text, Stage stage, BitmapFont font, Color color) {
//Removed buttonStyle creation etc. to shorten the code.
button = new TextButton(text, buttonStyle);
button.setPosition(position.x, position.y);
stage.addActor(button);
Gdx.input.setInputProcessor(stage);
pressed = false;
button.addListener(new ClickListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
pressed = true;
return true;
}
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
pressed = false;
}
@Override
public void exit(InputEvent event, float x, float y, int pointer, Actor toActor) {
System.out.println("exited");
}
});
}
编辑:
将鼠标悬停在按钮上也不会改变按钮的纹理,因为我将其设置为:
buttonStyle.over = skin.getDrawable("over");
但是点击会。
最佳答案
经过几个小时的搜索,我终于找到了丢失的东西。 stage.act();
必须在 render 方法中调用。当我们将鼠标悬停在按钮上时,这既为纹理更改提供了功能,也为 InputListener 中的进入/退出方法提供了功能。
关于java - 未使用 TextButton 调用 Libgdx InputListener "exit()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24788443/
我编写了以下代码: public void show () { skin = new Skin (Gdx.files.internal("PlayButton.json")); but
我正在使用 LIBGDX 构建一个简单的游戏,我遇到了这个恼人的问题。 我有一个 MenuScreen.java 类,它看起来像这样: Here是 pastebin 上的完整类(class) 重要的部
我正在使用MouseOverArea制作一个按钮。经过一番尝试和错误后,我意识到我可以重写 InputListener 中的方法,以便在收到输入事件通知时执行特定操作。 例如,当光标位于组件上方时按下
我用 libgdx 写了一个游戏。一切正常,除了一件事: 当玩家失败时,屏幕上会显示“游戏结束”纹理。我想为游戏添加一个“点击屏幕重新启动”功能,但为此,我需要将一个 eventListener 附加
哦,好吧...我遇到了一个问题,我不知道出了什么问题。 我有一个舞台, table 内有一些瓷砖(128x128 大小的方形 Actor )。 我想要做的是,当我向上滚动时,相机缩小,当我向下滚动时,
我已经尝试在 Actor 上使用 InputListener,但似乎没有调用 touchUp。其他所有方法都对我有用。 stage = new Stage(new ScreenViewport());
我将下表按钮放入 MenuScreen.java 文件中以制作“开始游戏”按钮: // register the button "start game" TextButton star
我尝试将 InputListener 与 Actor 一起使用,但它不起作用。我真的不知道为什么。我找到了很多关于它的信息并查看了官方文档,但没有一个对我没有帮助。 当我触摸 sprite 时,我的日
我有一个 Actor ,我想通过触摸拖动来移动它。 class Tile extends Actor { Tile (char c) { addListener(new Inp
我有一个带有 OrthographicCamera 的舞台,还有一个带有 addListener setter (来自 actor 类)的 InputListener 的 Actor。问题是 acto
我能够绘制我的按钮,但是当我点击/“触摸”它们时没有任何反应,而且我不知道我做错了什么。有人可以帮忙吗?触摸时,textButtonStyle 不应该更改为“ToothButton”吗?我不应该为 A
我是 libgdx 的新手,我在这里想要实现的是我希望我的 GestureDetector 与 InputListener 同时工作。我的左边有两个按钮,即使我同时开始滑动(多点触控),我也需要它们保
我正在使用 Xith3d 在 java 中启动一个 3d 游戏项目。它使用 jagatoo 进行输入,并且我已正确设置所有内容。这是我的测试代码: import org.jagatoo.input.I
我想使用 InputListener 中的 exit() 方法来查看光标是否在按钮内。 这是 libGDX 文档中的解释。 public void exit(InputEvent event, flo
我正在尝试使用 Libgdx Scene2dui 库并希望捕获鼠标触地事件。我有一个自定义 Actor 和一个实例化 Actor 实例并尝试监听触摸事件的对话框。由于某种原因,触摸事件没有被捕获。 p
我是一名优秀的程序员,十分优秀!