2014-08-27 110 views
1

我怎麼可以在一個演員檢測輕掃手勢Libgdx輕掃手勢,開始了演員的邊界之外橫跨演員

的行動將是如下 1.用戶觸摸屏幕的演員邊界 2.外用戶的手指在屏幕上移動並進入演員邊界 3.演員,然後由用戶的手指 4.拖動的演員被釋放,一旦用戶提起他們的手指

我能夠使用dragListener拖動一個演員並在actor上拖動方法。這隻適用於我,如果用戶觸摸演員邊界內,然後移動他們的手指拖動演員。

我希望用戶能夠觸摸到演員的邊界之外,然後輸入並拖動演員

感謝您的幫助,我將繼續進行調查,並張貼如果我找到了anwser

+0

您是使用Box2D還是其他物理庫來定義物體? – 2014-08-27 11:04:46

+0

不,我正在使用gdx.scenes.scene2d。 我有一個屏幕在其中我放置了一個舞臺,並在那我已經放置了一個演員 我可以檢測舞臺上的拖動,我可以檢測到一個演員的拖動。但我無法將舞臺上的阻力傳遞給演員。如果拖動在演員外部開始,則演員忽略拖動 – John 2014-08-27 11:32:32

+0

在滑動時演員的預期行爲是什麼?當手指進入演員時堅持手指?只能以恆定速度進入滑動方向或立即以固定的距離進行滑動? – 2014-08-27 11:37:28

回答

0

您應該實現一個函數,它不以如下:

  • STEP1:進入STEP2如果Gdx.input.justTouched()方法返回true,否則 重複

  • STEP2:進入STEP3如果yourActor.hit(Gdx.input.getX(),
    Gdx.input.getY(),TRUE)返回true,否則重複

  • STEP3:主題Gdx.input .getDeltaX()和Gdx.input.getDeltaY()來
    yourActor並進入STEP4

  • STEP4:進入STEP3如果Gdx.input.isTouched()是真實的,否則去 STEP1

主要邏輯與此類似,你應該能夠得到想法並找到一種方法在主遊戲循環中的某個地方實現它。另外,如果您不熟悉Input和Actor類中可用的函數,則應該查看API。