我使用 AndEngine 库创建了一个动态壁纸服务。屏幕上有一只鸟精灵从左到右反复飞行。我正在使用 LoopEntityModifier 和 PathModifier 作为解决方案。每次从左侧屏幕出现时,这只鸟都被编码为在 Y 位置随机开始。
代码是这样的:
public class MyLiveWallpaperService extends BaseLiveWallpaperService {
private AnimatedSprite birdSprite;
...
public Scene onLoadScene() {
...
float[] coordY = generateRandomCoordY(); // my custom function to generate random array of Y-coordinates
Path path = new Path(coordX, coordY); // set the coordinate to Path object
// register the modifiers (for the one who is curious, 1st argument of PathModifier is the duration,
// but it has nothing to do with the question)
birdSprite.registerEntityModifier(new LoopEntityModifier(new PathModifier(10, path)));
...
}
}
问题是当 LoopEntityModifier 和 PathModifier 运行时,路径的 Y 坐标值不能再更改。我希望每次循环开始时,我都可以再次设置新路径的 Y 坐标值。