我正在开发一款适用于 Android 的迷你游戏。我将此代码用于游戏循环。
private RefreshHandler mRedrawHandler = new RefreshHandler();
class RefreshHandler extends Handler {
@Override
public void handleMessage(Message msg) {
Panel.this.update();
Panel.this.invalidate();
}
public void sleep(long delayMillis) {
this.removeMessages(101);
sendMessageDelayed(obtainMessage(101), delayMillis);
}
};
public void update() {
if (mMode == RUNNING) {
ball.update(NR_PIX);
for (int i=0; i<N; i++) {
bords[i].update(NR_PIX);
}
Panel.lastBordHeight -= NR_PIX;
if (mYBrickOffset == 0)
mYBrickOffset = mYBrick;
mYBrickOffset -= NR_PIX;
mRedrawHandler.sleep(mMoveDelay);
}
}
RefreshHandler 类来自 SnakeView 类示例。
代码工作正常。我有一个新游戏按钮的活动。当我第一次进入活动时,它是有效的。但是,如果我退出游戏并再次进入速度会更快,这是我不会或不理解的事情。如果我退出游戏并使用“新游戏”按钮再次进入,速度会更快。
谁能帮我这个 ?