建立區間迭代系統

一個簡單的 EntitySystem,它可以處理一個實體族,而不是每幀一次,但是在給定的間隔之後。實體處理邏輯應該放在 processEntity(Entity) 中。有關詳細資訊,請參閱 IntervalIteratingSystem

在下面的程式碼示例中,最佳用法是物理世界步驟。

public class Constants {
     public final static float TIME_STEP = 1 / 60.0f; // 60 fps
     public final static int VELOCITY_ITERATIONS = 6;
     public final static int POSITION_ITERATIONS = 2;
}

public class PhysicsSystem extends IntervalIteratingSystem {
    public PhysicsSystem () {
         super(Family.all(PhysicsComponent.class), Constants.TIME_STEP);
    }

    @Override
    protected void processEntity(Entity entity) {
         // process the physics component here with an interval of 60fps
    }

    @Override
    protected void updateInterval() {
        WorldManager.world.step(Constants.TIME_STEP, Constants.VELOCITY_ITERATIONS, Constants.POSITION_ITERATIONS);
        super.updateInterval();
    }

}