在我用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。
谢谢!这是在球员还是球的更新方法?有可能在某些级别会出现多个球 - 我该如何解决这个问题? –
这取决于你的游戏架构。我会执行到玩家。您可以将所有球存储在列表中检查每个元素的交集(注意,这是计算密集型的)。但它基本上取决于你的球如何存储在你的游戏世界。您也可以将其应用到球的更新方法中,并调用游戏中每个球的每个更新方法。 –
我编辑了我的帖子,通过遍历列表来向你展示我的意思。 –