建立區間迭代系統
一個簡單的
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();
}
}