我有一个for循环,我在其中声明sprite的位置。但它们通常会在彼此附近产生并且看起来很可怕。使用诸如dbWait(1000);
之类的函数会冻结所有精灵,因此它不是解决方案。
有没有办法在产卵之间产生差距?
for(int i=20;i<=25;i++){
dbSprite(i,dbRnd(500),dbRnd(90)+400,20);
dbHideSprite(i);
}
答案 0 :(得分:0)
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();
}
也就是说,诀窍是利用那个主循环。让它继续它的业务,利用它来产生,只要你准备好了另一个。