【发布时间】:2014-09-03 18:08:51
【问题描述】:
我正在开发一款游戏,我希望玩家能够通过双击屏幕来提高速度,我的问题是:由于玩家通过按下屏幕一次来移动(你按下向左移动左,右向右移动)程序是否会延迟查看屏幕是否被按下一次或两次,或者播放器是否会首先以正常速度开始,然后在检测到另一个点击时加速?这就是我的动作看起来的样子:
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()));
}
这很好用,但我应该如何实现让玩家可以通过一个简单的手势加速?想法? (如果我需要详细说明或发布更多代码,请告诉我)
【问题讨论】:
-
您可以使用向上滑动来提高速度,向下滑动来降低速度。 see this post 获取有关手势的帮助。如果您可以向上滑动和向下滑动,我可以发布一些代码吗?
-
嗯,这可能行得通,但我只希望速度的提高能持续一秒钟(摆脱棘手的情况),所以如果你可以双击快速前进,那就太好了,然后轻按一次即可恢复正常。可以横向滑动吗?那会很酷
-
是的,您可以向各个方向滑动。this post 谈论从右到左和从左到右滑动。
-
非常感谢老兄!如果您对如何编写代码有任何提示,那将是一个很大的帮助,因为在使用 libgdx 时,它与普通的 android 应用程序不同,是吗?我在课堂上实现“屏幕”,而不是 Activity 或 OnClickListener.. 但我相信我最终会弄明白的,只是,它会有所帮助:)