我正在使用LWJGL和Java 1.6一起编写一个2d自上而下的RPG游戏。到目前为止,我的渲染和输入方法工作正常,并开始编程游戏的逻辑。处理碰撞实体
所以我有一个名为World的类,它包含一个实体ArrayList。我想在游戏中实现简单的碰撞(使用相交正方形),这应该不成问题。我现在唯一的问题是如何访问我的列表中的单个单元格,而无需遍历它。我只能想出在每个实体中执行的碰撞方法,并遍历我的世界中的所有实体。这并不快,但我真的不知道该怎么做才能让它更快。
我的游戏是基于瓦,但运动不是瓷砖到瓷砖,一个能走小部分,避免了我只需使用二维数组...
有没有一个标准的方法处理实体及其碰撞? (或者可能是一种处理ArrayList内部实体之间碰撞的方法?)
您的所有实体是否都位于2D平面上? 你如何跟踪他们的位置?有多少实体在同时移动?事实上,究竟有多少实体? – Vitaliy
我无法确切知道有多少实体,但我认为通常会有500个实体同时移动。是的,所有的,都在飞机上。它们的位置在每个对象内都以双重形式存储。它被重新调整以适应瓷砖网格。 – Thiago
好的,另一个问题是:你说“我现在唯一的问题是如何访问我的List中的单个单元,而不必遍历它。”您如何知道首先需要移动的部分? – Vitaliy