我是java新手,我试图在延迟后不断将“僵尸”实体添加到我的游戏中,然后随着时间的推移缩短延迟。
在我的new DateTime(date).minusSeconds(1).toDate()
课程中,我已经获得了代码,可以在运行PlayState
方法时将实体生成一个位置(其中包含update();
等等。为清晰起见,未显示。 )
getInput();
如何延迟缩短?我猜我会做出延迟,然后使用一个乘法器,我每10秒左右就会变小,但是我该怎么办?
答案 0 :(得分:0)
现在,我对你班上更精细的工作情况知之甚少,但这可能会让你大致了解我的意思:
int counter = 50;
for(int i = 100; i >= 0; i--)
{
if(i == counter)
{
counter = counter / 2;
this.entities.add(new Zombie(-535));
}
}
假设i
是游戏的总运行时间,而counter
表示想要添加僵尸时游戏的百分比。
如果你想在50%的运行时间之后添加一个僵尸(这里是100秒),那么当时间减少时,你会检查是否已经到了添加僵尸的时间(这里,50秒)。 / p>
我在这里做的是将延迟减少到一半,并继续检查是否已经到了添加僵尸的时候了。
答案 1 :(得分:0)
也许你可以在执行的线程上调用sleep:
int sleepInMs = 5000
Thread.sleep(sleepInMs);
sleepInMs+=1000; //Then of course handle the case when sleepInMs == 0
真的需要有关您的实施的更多信息。