我有一个 for 循环,我在其中声明精灵的位置。但它们通常会在彼此附近产卵,看起来很可怕。使用诸如dbWait(1000);
冻结所有精灵之类的功能,因此它不是解决方案。
有没有办法在产卵之间产生间隙?
for(int i=20;i<=25;i++){
dbSprite(i,dbRnd(500),dbRnd(90)+400,20);
dbHideSprite(i);
}
int spritesToSpawn = 25;
while (LoopGDK ())
{
if (spritesToSpawn)
if (waitToSpawn <= 0)
{
dbSprite (i, dbRnd (500), dbRnd(90)_400, 20);
waitToSpawn = SPAWNING_DELAY;
--spritesToSpawn;
}
else
--waitToSpawn;
...
dbSync();
}
也就是说,诀窍是利用那个主循环。让它继续它的业务,每当你准备好另一个时,利用它来产卵。