我正在开发一款游戏,我希望玩家能够通过双击屏幕来提高速度,我的问题是:由于玩家通过按一下屏幕移动(你向左按下移动)如果屏幕被按下一次或两次,或者播放器是否首先以正常速度启动,然后如果检测到另一个水龙头,则会加速吗?这就是我的运动看起来的样子:
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()));
}
这很好用,但我应该如何实现,这样玩家可以通过一个简单的手势加快速度?思考? (如果我需要详细说明或发布更多代码,请告诉我)
答案 0 :(得分:1)
Libgdx已经有一个用于检测手势的GestureDetector类。您可以在LibGdx wiki上找到有关它的更多信息。
https://github.com/libgdx/libgdx/wiki/Gesture-detection
注意:GestureDetector需要注册为InputProcessor才能检测手势。如果你想保留以前的inout处理器并使用GestureDetector,你必须使用InputMultiplexer将它们都注册为InputProcessors。更多信息可以在这个维基页面上找到。