У меня проблема. Чтобы сделать видеоигр, мне нужно реализовать функцию под названием update().Обновление объекта каждые x миллисекунд
Аргумент lastCallTime - это последний раз, когда мы вызвали обновление.
Он должен сделать следующее:
Вычислить время, прошедшее с момента последнего вызова обновления.
Если прошедшее время больше 20 [мс], чем ifUpdate = true.
И сбросить последнее время для каждого объекта.
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);
}
}
'LastUpdated = System.currentTimeMillis()' 'instrad из = 0 '. – darijan
@darijan: На самом деле, вы бы хотели, чтобы 'lastUpdated = currentTime', я думаю. – thejh
Вы должны взглянуть на шаблон Observer для этого. :) –