AndEngine 动画之间的时长

AndEngine duration between animation

我正在开发一款完全基于动画的简单游戏。对于这个应用程序,我使用的是 AndEngine SDK。我是 Android 开发游戏的新手。我用谷歌搜索了很多,但所有文章都太高级了,对我来说在这个应用程序中没有用。

我的问题:

1.How 我可以在每个动画中执行具有特定延迟的循环动画吗?

这是我的代码:

final Sprite playButton = new Sprite(centerX, CAMERA_HEIGHT - 500, mPlayButton, getVertexBufferObjectManager());
final ScaleModifier scale = new ScaleModifier(0.5f, 1, 1.1f, 1f, 1.1f);
LoopEntityModifier scalePlayButton = new LoopEntityModifier(scale);
playButton.registerEntityModifier(scalePlayButton);
mScene.attachChild(playButton);

现在,我想要循环执行的每个比例动画中的特定延迟。

2.If我没有使用LoopEntityModifier,那我如何在特定延迟后执行缩放动画。为此,这是我的代码:

final Sprite playButton = new Sprite(centerX, CAMERA_HEIGHT - 500, mPlayButton, getVertexBufferObjectManager());
final ScaleModifier scale = new ScaleModifier(0.5f, 1, 1.1f, 1f, 1.1f);

scale.addModifierListener(new IModifier.IModifierListener<IEntity>() {
      @Override
      public void onModifierStarted(IModifier<IEntity> pModifier, IEntity         pItem) {

      }
      @Override
      public void onModifierFinished(IModifier<IEntity> pModifier, IEntity pItem) {
                 playButton.registerEntityModifier(scale);
      }
});

playButton.registerEntityModifier(scale);
mScene.attachChild(playButton);

但是,一旦我将 attachChild 添加到场景中,它就不会再次启动动画了。

请让我知道哪里出错了。

谢谢!

您可以通过使用 DelayModifier class 以及来自 AndEngine 的 SequenceEntityModifierLoopEntityModifier 的组合来实现它。这是代码片段:

final Sprite playButton = new Sprite(centerX, CAMERA_HEIGHT - 500, mPlayButton, getVertexBufferObjectManager());
SequenceEntityModifier scaleSequence = new SequenceEntityModifier(
         new ScaleModifier(0.2f, 1f, 1.07f),
         new ScaleModifier(0.2f, 1.07f, 1f),
         new DelayModifier(2f)
 );
LoopEntityModifier scaleLoopModifier = new LoopEntityModifier(scaleSequence);
playButton.registerEntityModifier(scaleLoopModifier);
mScene.attachChild(playButton);

希望对您有所帮助!