gpt4 book ai didi

android - 在 libgdx 中检查(并执行某些操作)触摸事件的最佳方式是什么?

转载 作者:行者123 更新时间:2023-11-29 20:48:32 25 4
gpt4 key购买 nike

我有一个新手问题。我刚开始学习 libgdx,我有点困惑。我阅读了文档/wiki,遵循了一些教程,例如 gamefromscratch 和其他人的教程,但我仍然有一个问题。

检查和执行触摸/点击事件的最佳方法是什么?

我正在使用场景和 Actor ,我发现至少有 4 种方式(到目前为止)与 Actor 互动,比方说:

1) myActor.addListener(new ClickListener(){...});

2) myActor.setTouchable(Touchable.enabled); and putting the code in the act() method

3) verifying Gdx.input.isTouched() in the render() method

4) overriding touchDown, touchUp methods

任何关于何时使用一个而不是另一个的细节和建议的帮助,或者它们之间的区别将不胜感激。

谢谢。

最佳答案

我一直在使用第一种方法,我认为从 OOP 的角度来看,这是“最好”的方法。

第二种方法行不通。无论您是否将 Actor 设置为可触摸,只要您执行 stage.act(float)Actor.act(float) 仍将被调用>。这意味着您将在每一帧中执行您的代码。

Gdx.input.isTouched() 只会告诉您触摸事件发生在屏幕上任何地方。尝试找出 哪个 Actor 被那个触摸击中并不是一个好主意,因为他们已经能够自己确定 (Actor.hit() ).

我不确定您要在哪里覆盖 touchDowntouchUp。 Actor 没有这些方法,所以我假设您谈论的是标准的 InputProcessor。在这种情况下,您将遇到与第三种方法相同的问题。

因此,将 ClickListener 添加到您要监视此类事件的参与者可能是最好的方法。

关于android - 在 libgdx 中检查(并执行某些操作)触摸事件的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29761043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com