我有问题。要制作视频游戏,我必须实现一个名为 update() 的函数。
参数 lastCallTime 是我们最后一次调用更新。
它必须执行以下操作:
计算自上次调用更新以来经过的时间。
如果经过的时间超过 20[ms],则 ifUpdate = true。
并重置每个对象的 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);
}
}