I am trying to run these scale modifiers alternately. the first time lower is called it works. The Raise also works the first time. Neither work after that. The call is made to Lower modifier but it doesnt start for some reason.
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;
}
};
It has been a while since I have used AndEngine, but I believe you may need to call Lower.reset() and Raise.reset() in order to redo the effect.
Modifiers contain a boolean flag called mFinished which is set to false when reset() is called.