问题:
您认为渲染和更新实体的最佳方式是什么?
目前我正在使用世界一流的来做到这一点。
链接:
代码(来自 World.java):
List<Entity> entities = new ArrayList<Entity>();
public void render(GameContainer gc, Graphics g, Camera camera) {
// Draw background
background.draw(0 - camera.getX(), 0 - camera.getY(), 2100, 2100);
// Loop through all entities and render
for (int i = 0; i < entities.size(); i++) {
Entity entity = entities.get(i);
// A very long if... render only if visible
if (entity.getX() < player.getX() + ((gc.getWidth() / 2) + entity.getWidth() + 50) &&
entity.getX() > player.getX() - ((gc.getWidth() / 2) + entity.getWidth() + 50) &&
entity.getY() < player.getY() + ((gc.getHeight() / 2) + entity.getHeight() + 50) &&
entity.getY() > player.getY() - ((gc.getHeight() / 2) + entity.getHeight() + 50)) {
entity.render(gc, g);
}
}
}
public void update(GameContainer gc, int delta) {
// Loop through entities and update all time
for (int i = 0; i < entities.size(); i++) {
Entity entity = entities.get(i);
entity.update(gc, delta);
}
}