0
私は現在Javaでクラスと継承を研究しています。私は単純なRPGゲームを作った。 今、私はマルチスレッドを使用しようとしますが、動作しません。 30秒ごとに出力が出たいです。 "試合開始から30秒経ちました。"このように。 数字は時間の経過とともに大きくなります。 どうすればよいですか? 実際には、私は英語をうまく話すことができませんし、それは厄介かもしれません。 私はあなたの答えを待っています。ありがとうございました!タイママルチスレッドの使い方
//import java.util.Timer;
import java.util.TimerTask;
public class Timer extends Thread {
int count = 0;
Timer m_timer = new Timer();
TimerTask m_task = new TimerTask() {
public void run() {
count++;
System.out.println("It's been 30 seconds since the game started.");
}
};
m_timer.schedule(m_task, 1000, 1000);
};
メイン:
public class Main {
public static void main(String[] args) {
Timer m_timer = new Timer();
m_timer.start();
}
}
初めてクラスや継承を勉強しているのなら、初心者にとってはRPGゲームが複雑すぎると思います。なぜマルチスレッドが必要ですか?それは学校の課題の一部ですか? – markspace
** Timer#scheduleは正確で** **正確ではありません。代わりに、 'long start = System.currentTimeMillis();'、 'long current = System.currentTimeMillis;'と 'long duration = current-start;'というハード比較を使用してください。このような制御されていない環境では、並列スレッドを使用しないでください。最初に中心の**ロジック**(しばしば 'tick 'と呼ばれる)と** render **メソッドを使ってウェル構造を整理する必要があります。そこでは、ゲーム時間をカウントして、他の計算をトリガーすることができます。 – Zabuza
はい...学校の割り当て。 私はゲームをあまりにも難しくしませんでした。シンプルなゲーム。 ここにマルチスレッドを追加しています。非常に難しいです....( –