所以在我的遊戲中,當我觸摸屏幕,連接播放器和天花板時,我會產生一個抓鉤。問題是我的inputAdapter的touchDown()似乎只在我第一次觸摸時激活,當我再次觸摸時(意味着:沒有其他「抓鉤鉤子」被創建,只有一個),沒有任何反應。 touchUp()或其他輸入方法仍然有效。TouchDown似乎只在整個應用程序中觸發一次[libGDX]
這裏是所有類:Rope - GamePlay - 以防萬一InputManager也MainMenu
編輯 所以我是一個白癡,並在overlapsOnX()方法忘了加減法,寬度的「雲」,所以除非我非常幸運(或在適當的地方產卵)繩子不會被創建。
這裏的方法應該怎麼看起來像
private boolean overlapsOnX(Body player, Body cloud){ //check if the player is currently in the same X position than a cloud
return player.getPosition().x >= cloud.getPosition().x - (20/PPM) && player.getPosition().x <= cloud.getPosition().x + (20/PPM);
}
只是移動Gdx.input.setInputProcessor(新InputAdapter(){...的演出方法,使雙方的觸地得分和潤色方法返回true。 – Hllink
Didnt修復它。我不得不這樣說,這原本。 –
它可能是你的遊戲邏輯,但從來沒有在渲染循環內創建實例,你正在創建一個新的inputAdapter每一幀,並將其分配給gdx輸入處理器.. – Hllink