libgdx双击或其他手势

时间:2014-09-03 18:08:51

标签: java android libgdx

我正在开发一款游戏,我希望玩家能够通过双击屏幕来提高速度,我的问题是:由于玩家通过按一下屏幕移动(你向左按下移动)如果屏幕被按下一次或两次,或者播放器是否首先以正常速度启动,然后如果检测到另一个水龙头,则会加速吗?这就是我的运动看起来的样子:

            touchPos.set(Gdx.input.getX() - 42, Gdx.input.getY() + 19, 0);
            camera.unproject(touchPos);

if (Gdx.input.isTouched()) {
            if (player.getX() > touchPos.x + 16) {
                player.setPosition(player.getX() - (speed * Gdx.graphics.getDeltaTime()), player.getY() + (130 * Gdx.graphics.getDeltaTime()));


            } else if (player.getX() < touchPos.x - 16) {
                player.setPosition(player.getX() + (speed * Gdx.graphics.getDeltaTime()), player.getY() + (130 * Gdx.graphics.getDeltaTime()));
}

这很好用,但我应该如何实现,这样玩家可以通过一个简单的手势加快速度?思考? (如果我需要详细说明或发布更多代码,请告诉我)

1 个答案:

答案 0 :(得分:1)

Libgdx已经有一个用于检测手势的GestureDetector类。您可以在LibGdx wiki上找到有关它的更多信息。

https://github.com/libgdx/libgdx/wiki/Gesture-detection

注意:GestureDetector需要注册为InputProcessor才能检测手势。如果你想保留以前的inout处理器并使用GestureDetector,你必须使用InputMultiplexer将它们都注册为InputProcessors。更多信息可以在这个维基页面上找到。

https://github.com/libgdx/libgdx/wiki/Event-handling