2013-06-21 18 views
0

我正在使用libgdx來開發mygame。Libgdx GestureListener來處理HoldDownDown

我正在使用GestureListener來處理我的觸摸事件。 我的目標是當玩家在屏幕上觸摸時,讓角色向右或向左移動。

問題是,GestureListener沒有任何方法來處理這個問題。如果我使用平移,玩家必須滑動才能觸發該方法。另外,GestureListener沒有touchUp方法,所以我不能將touchDown和touchUp結合起來。

有沒有辦法做到這一點?

回答

5

Libgdx GestureDetector設計用於檢測高級「手勢」,如滑動,捏和平移,它不能報告其他類型的觸摸事件。

有用於獲取你想要的信息了幾個選項:

首先,你可以用更直接的InputProcessor,以獲得原始觸摸事件,並跟蹤長期接觸。您可能需要使用InputMultiplexer才能在現有的手勢監聽器和新的輸入處理器之間共享輸入。

其次,你可以在你的更新方法中使用poll for the is-being-touched state。只需檢查Gdx.input.isTouched(x),然後Gdx.input.getX(x)Gdx.input.getY(x)(對於x,取值範圍爲0到20,具體取決於您希望支持多少個活動指針)。

+0

嘿,thx,我已經使用輸入處理器,它的工作。 但我仍然不明白InputMultiplexer,我必須使用它嗎?我已閱讀此https://code.google.com/p/libgdx-users/wiki/handlingUserInput,但我仍然不明白。 – Algorithman

+0

如果您想一次使用多個輸入處理器,則需要'InputMultiplexer'。否則不需要。如果您有更具體的問題,可能最好問一個新問題。 –

+0

好的,謝謝 – Algorithman