和动画之间的发动机持续时间

时间:2018-02-23 04:57:59

标签: android animation sprite andengine duration

我正在开发一款完全基于动画的简单游戏。对于这个应用程序,我使用AndEngine SDK。我是开发Android游戏的全新人选。我google了很多,但所有文章都是如此先进,在这个应用程序中对我没用。

我的问题:

1.如何在每个动画中执行具有特定延迟的循环动画?

这是我的代码:

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.如果我不使用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);

但是,一旦我将儿童加入场景,它就不会再次开始动画。

请让我知道我哪里出错了。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用来自AndEngine的DelayModifierSequenceEntityModifier的{​​{1}}类来实现它。这是代码片段:

LoopEntityModifier

希望它可以帮到你!