Java 在andengine中重置计时器
我有这个类,我用它来设置比赛期间的间隔Java 在andengine中重置计时器,java,android,andengine,Java,Android,Andengine,我有这个类,我用它来设置比赛期间的间隔 public class Timer implements IUpdateHandler { // =========================================================== // Constants // =========================================================== // ==============
public class Timer implements IUpdateHandler {
// ===========================================================
// Constants
// ===========================================================
// ===========================================================
// Fields
// ===========================================================
private ITimerCallback mCallback;
private float mInterval;
private float mSecondsElapsed;
// ===========================================================
// Constructors
// ===========================================================
public Timer(final float pInterval, final ITimerCallback pCallback) {
this.mInterval = pInterval;
this.mCallback = pCallback;
}
// ===========================================================
// Getter & Setter
// ===========================================================
public void setInterval(final float pInterval) {
this.mInterval = pInterval;
}
// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
@Override
public void onUpdate(float pSecondsElapsed) {
this.mSecondsElapsed += pSecondsElapsed;
if(this.mSecondsElapsed >= this.mInterval) {
this.mSecondsElapsed -= this.mInterval;
this.mCallback.onTick();
}
}
@Override
public void reset() {
this.mSecondsElapsed = 0;
}
// ===========================================================
// Methods
// ===========================================================
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
public interface ITimerCallback {
public void onTick();
}
}
问题是我需要找到一种暂停的方法,或者在需要的时候完全重置时间
我该怎么做呢?该类有一个reset()方法用于此目的。如果要暂停,可能需要向类中添加一个私有布尔值,并创建一个pause()方法来调用-在pause方法中设置暂停的布尔值。然后修改onUpdate()方法,并在(!paused){
//剩下的时间在这里更新吗
}
您可能还需要一个unpuse()方法,或者在传递所需状态时只创建一个方法,例如setPause(布尔状态){}