首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

J2ME 遊戲開發中計時器的簡單實現(Timer 與 TimerTask)

     編輯:Java 程式設計入門

遊戲開發常需計時器記錄遊戲時間,時間結束則結束遊戲。本文介紹如何在 J2ME 中使用 Timer 與 TimerTask 實現計時器,並給出具體代碼實例。

Java.util 套件中有 TimerTask 類別,可擴展並實作 run() 方法編寫邏輯代碼。製作遊戲計時器很簡單:建立 GameClock 擴展 TimerTask,維護實例變數 timeLeft 記錄剩餘時間,每次 run() 執行將 timeLeft 減 1。有時需暫停與重新啟動,在 GameClock 加入 boolean 標記即可。GameClock 代碼如下:

package com.j2medev.gameclock;
import java.util.TimerTask;

public class GameClock extends TimerTask {
    private int timeLeft = 60; // 計時器預設時間(秒)
    private boolean pause = false;

    public GameClock() { }
    public GameClock(int value) { timeLeft = value; }

    public void run() {
        if (!pause) {
            timeLeft--;
        }
    }
    public void pause() { pause = true; }
    public void resume() { pause = false; }
    public int getTimeLeft() { return timeLeft; }
    public void setTimeLeft(int value) { this.timeLeft = value; }
}

使用方式:建立 Timer 實例,排程 GameClock 每秒執行一次:

Timer timer = new Timer();
GameClock clock = new GameClock(60); // 60 秒
timer.schedule(clock, 0, 1000); // 立即開始,每 1000ms 執行一次

// 遊戲主迴圈中可隨時呼叫 clock.getTimeLeft() 取得剩餘時間
// 需暫停呼叫 clock.pause(),恢復呼叫 clock.resume()
// 時間歸零時結束遊戲邏輯

此實現簡潔高效,適合 J2ME 遊戲開發計時需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved