EntityModifier 只在 andEngine 中工作一次
Posted
技术标签:
【中文标题】EntityModifier 只在 andEngine 中工作一次【英文标题】:EntityModifier only working once in 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;
;
【问题讨论】:
【参考方案1】:我用AndEngine已经有一段时间了,但我相信你可能需要调用Lower.reset()和Raise.reset()来重做效果。
修饰符包含一个名为 mFinished 的布尔标志,在调用 reset() 时设置为 false。
【讨论】:
如果我这样做,修饰符只会一遍又一遍地重复。我只希望它在按下按钮后再次播放。 那么你应该只在按下按钮后调用 reset ;) 嘎达玛!这是我在短时间内感受到的最愚蠢的感觉。谢谢。【参考方案2】:如果您想要精灵的交替动画,请使用 LoopEntityModifier 尝试以下方法:
sprite.registerEntityModifier(new LoopEntityModifier(new SequenceEntityModifier(Lower, Raise)));
【讨论】:
以上是关于EntityModifier 只在 andEngine 中工作一次的主要内容,如果未能解决你的问题,请参考以下文章