- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 AndEngine 库创建了动态壁纸服务。屏幕上有一只小鸟 Sprite ,从左到右反复飞行。我正在使用 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 坐标值。
最佳答案
我认为您可以通过覆盖 onModifierFinished() 并使用更改后的路径创建新的 PathModifier 来解决这个问题。它看起来像这样:
public LoopEntityModifier createModifier(Path path) {
return new LoopEntityModifier(new PathModifier(path)) {
@Override
public void onModifierFinished(final IModifier<IEntity> pEntityModifier, final IEntity pEntity) {
birdSprite.registerEntityModifier(createModifier(path));
}
}
}
birdSprite.registerEntityModifier(createModifier());
这仅在每次循环结束时调用 onModifierFinished() 时有效。
关于android - 如何在 LoopEntityModifier 开始时随机设置 PathModifier 的坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10244310/
在AndEngine中我这样定义了一个PathModifier public static IEaseFunction EASEFUNCTION;
和引擎。我在游戏中使用 Path() 和 PathModifier()。 path = new Path(2).to(10, 10).to(100, 100); sprite.registerEnti
我使用 AndEngine 库创建了动态壁纸服务。屏幕上有一只小鸟 Sprite ,从左到右反复飞行。我正在使用 LoopEntityModifier 和 PathModifier 作为解决方案。这只
我是一名优秀的程序员,十分优秀!