問題が発生しています。ビデオゲームを作成するには、update() という関数を実装する必要があります。
引数 lastCallTime は、最後に update を呼び出した時刻です。
次のことを行う必要があります。
update の最後の呼び出しから経過した時間を計算します。
ifUpdate = true より経過時間が 20[ms] 以上の場合。
そして、すべてのオブジェクトの lastUpdated 時刻をリセットします。
private long lastUpdated; //The last updated time for this object.
public boolean update (long lastCallTime){
boolean ifUpdate = false;
long currentTime = System.currentTimeMillis();
long delta = (currentTime - lastCallTime);
if (delta >= 20){
//Do something and
ifUpdate = true;
lastUpdated = 0;
}
return ifUpdate;
}
スレッドは、このメソッドを次のように呼び出します。
@Override
public void run(){
long lastCallTime;
int k = 0;
lastCallTime = System.currentTimeMillis();
while(true){
//Do something
boolean ifUpdate = update(lastCallTime);
}
}