0

我正在尝试交替运行这些比例修改器。第一次降低被称为有效。The Raise 也是第一次起作用。之后都没有工作。调用了 Lower 修饰符,但由于某种原因它没有启动。

Lower = new ScaleModifier(0.5f, 1.0f, 0.8f){
        @Override
        protected void onModifierStarted(IEntity pItem) {
            Log.d(tag, "Lower Started");
            super.onModifierStarted(pItem);
            mIsRaised = false;
        }

        @Override
        protected void onModifierFinished(IEntity pItem) {
            Log.d(tag, "Lower Finished");
            super.onModifierFinished(pItem);
            mIsRaised = false;
        }
    };

    Raise = new ScaleModifier(0.5f, 0.8f, 1.0f){

        @Override
        protected void onModifierStarted(IEntity pItem) {
            Log.d(tag, "Raise Started");
            super.onModifierStarted(pItem);
            mIsRaised = true;
        }

        @Override
        protected void onModifierFinished(IEntity pItem) {
            Log.d(tag, "Raise Finished");
            super.onModifierFinished(pItem);
            mIsRaised = true;
        }
    };
4

2 回答 2

4

使用 AndEngine 已经有一段时间了,但我相信您可能需要调用 Lower.reset() 和 Raise.reset() 才能重做效果。

修饰符包含一个名为 mFinished 的布尔标志,在调用 reset() 时设置为 false。

于 2013-06-25T14:37:18.147 回答
0

如果您想要精灵的交替动画,请尝试使用 LoopEntityModifier 的以下方法:

sprite.registerEntityModifier(new LoopEntityModifier(new SequenceEntityModifier(Lower, Raise)));
于 2013-06-27T19:53:55.587 回答