我使用 AndEngine 库创建了一个动态壁纸服务。在屏幕上,有许多从左到右反复飞行的鸟 Sprite 对象以随机 y 坐标开始(我为此使用 LoopEntityModifier 和 PathModifier,如果你好奇,请参阅我之前的问题)。鸟儿不应该同时开始飞行,但是在另一只鸟儿从屏幕最左侧出现之前大约有 3 秒的间隔/间隔。
问题是我必须使用什么技术来实现这一目标?
我创建了一组 Sprites 来保存鸟类精灵。代码是这样的...
public class MyLiveWallpaperService extends BaseLiveWallpaperService {
private BirdSprite[] birdSprites; // BirdSprite is actually an extension class from AnimatedSprite
...
@Override
public Scene onLoadScene() {
...
birdSprites= new BirdSprite[4];
for (int i=0; i<4; ++i) {
birdSprites[i] = new BirdSprite(0, 0, birdTextureRegion);
scene.getChild(LAYER_FRONT).attachChild(birdSprites[i]);
}
}
}
上面的代码生成了四只鸟,它们同时出现在左侧屏幕上。我尝试在调用 attachChild 之前添加 Thread.sleep(3000),但它会影响整个应用程序。动态壁纸应用程序在启动时会挂起几秒钟。