【问题标题】:EntityModifier only working once in andEngineEntityModifier 只在 andEngine 中工作一次
【发布时间】:2013-06-25 13:58:04
【问题描述】:

我正在尝试交替运行这些比例修改器。第一次降低被称为有效。 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;
        }
    };

【问题讨论】:

    标签: android entity andengine scale modifier


    【解决方案1】:

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

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

    【讨论】:

    • 如果我这样做,修饰符只会一遍又一遍地重复。我只希望它在按下按钮后再次播放。
    • 那么你应该只在按下按钮后调用 reset ;)
    • 嘎达玛!这是我在短时间内感受到的最愚蠢的感觉。谢谢。
    【解决方案2】:

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

    sprite.registerEntityModifier(new LoopEntityModifier(new SequenceEntityModifier(Lower, Raise)));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-06
      • 2018-06-22
      • 2015-09-18
      • 2013-12-31
      • 1970-01-01
      • 2013-09-28
      • 2013-03-30
      • 2015-06-04
      相关资源
      最近更新 更多