我使用AndEngine和EntityModifier来动画一些属性,比如许多实体的比例或位置。是否有必要在完成后取消注册EntityModifiers或者它是否已经是默认行为?
如果有必要:使用
是否更好modifier.setAutoUnregisterWhenFinished(true);
或致电
entity.unregisterEntityModifier(modifier);
提前致谢。
答案 0 :(得分:1)
有两个布尔值决定修饰符的生命
protected boolean mFinished; private boolean mAutoUnregisterWhenFinished = true;
正如您所见,默认情况下mAutoUnregisterWhenFinished为true,修改器完成后也会设置mFinished。当这两个布尔值变为真时,下面的条件就会破坏修饰符。
if(modifier.isFinished() && modifier.isAutoUnregisterWhenFinished()) {
this.remove(i);
}
关于您的问题取决于您的
entity.unregisterEntityModifier(modifier);
当您想要将新修饰符应用于精灵或实体时,使用上面的代码。其中
modifier.setAutoUnregisterWhenFinished(true);
仅在该修改器完成时应用。 例如,如果你想在触摸它时将运动应用于精灵,你可以使用取消注册修改器并应用新的修饰符。
由于