创建区间迭代系统
一个简单的
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();
}
}