1

現在、私のプロジェクトにはタイミングがなく、満足のいくものですが、タイミングがあればもっときれいになります。私はそれをしたいので、必要なものを宣言した後、次のようなことができます:

if (timer == 2000) {
    System.out.println("2 seconds have passed since "timer" was declared!");
}

これを超えるものはあまり見たことがありません。何かが足りない場合は申し訳ありません。私はこれを行うための最良の方法を探しています。

編集
なぜこれが必要なのかについて詳細を尋ねられたので...ところで、これはゾンビゲーム用です

while(!Display.isCloseRequested()){
    if (whatever == 2 seconds){    //I obviously know a don't right the word seconds next the number 2
        for(int z = 0; z < 2; z++){
            SpawnaZombieAt(leftcorner,20,speed);
        }
     }
}

よくわからない場合は、ある種のタイマーを開始しようとしています。その後、約 2 秒ごとに 2 体のゾンビがスポーンします。

4

2 に答える 2

2

System.currentTimeMillis()またはをお探しSystem.nanoTime()ですか?1 つ目は UTC に対応する低精度のカウンターで、2 つ目は経過時間の決定に使用できる高精度のタイマーです。

于 2012-05-13T20:30:12.063 に答える
1

特定の遅延の後に特定のアクションを起動する場合は、次のようにScheduledExecutorService- を使用できます。

ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
scheduler.schedule(new Runnable() {
    public void run() {
        System.out.println("2 seconds have passed since this action was scheduled!");
    }
}, 2, TimeUnit.SECONDS);

そして、2秒後にあなたの文章を印刷します。

あなたがストップウォッチを求めているなら、この質問への答えはいくつかの選択肢を提案します.

編集

編集に続いて、たとえば 2 秒ごとに特定のアクションを実行できるようにするScheduledExecutorServiceメソッドscheduleAtFixedRateがあります。

于 2012-05-13T20:27:57.707 に答える