在我用slick2d創建的遊戲中學習Java,我有多個層次,每個層次都有一個Footballer
和多個其他單位,我希望足球運動員能夠與之交互。我還希望其他單位彼此互動(例如多個Ball
與彼此碰撞)(注意,其中一些單位有時與另一個單位相同)。我不確定,但是如何檢測這些交互並適當地更新單元。例如,我有我的Footballer
:Java&Slick2d - 對象互動
public class Footballer extends Unit {
public Footballer(float x, float y){
super("res/ballerpicture", x, y)
}
}
這個類我有它覆蓋在單元類更新功能的更新功能中(讓我根據我的輸入移動一個Footballer
- 這是工作不除碰撞檢測以外的問題)。
然後我可以,例如,已經裝上我的地圖5球:
public class Ball extends Unit {
public Ball(float x, float y){
super("res/ballpicture", x, y)
}
}
舉一個例子,我想知道如何在碰撞與Footballer
更新球中的任何一個,移動他們每次碰撞時都離開玩家一塊。
我的Unit
類包括一個move
方法,該方法基於整數方向移動單元(左= 1,右= 2等)。
道歉,如果我超飽和這個問題或沒有包含足夠的信息 - 我是相對較新的Java。
謝謝!這是在球員還是球的更新方法?有可能在某些級別會出現多個球 - 我該如何解決這個問題? –
這取決於你的遊戲架構。我會執行到玩家。您可以將所有球存儲在列表中檢查每個元素的交集(注意,這是計算密集型的)。但它基本上取決於你的球如何存儲在你的遊戲世界。您也可以將其應用到球的更新方法中,並調用遊戲中每個球的每個更新方法。 –
我編輯了我的帖子,通過遍歷列表來向你展示我的意思。 –