2014-01-16 87 views
0

我使用AndEngine和EntityModifier來動畫一些屬性,如比例尺或許多實體的位置。是否有必要在完成後取消註冊EntityModifiers,還是已經是默認行爲?是否需要註銷AndEngine中的EntityModifier?

如果這是必要的:它是更好地使用

modifier.setAutoUnregisterWhenFinished(true); 

或致電

entity.unregisterEntityModifier(modifier); 

在此先感謝。

+1

它已經有一段時間,因爲我用AndEngine,但如果沒有記錯,AutoUnregister是在缺省情況下這對於我的需求偉大的工作。至於你的問題 - 你使用哪種方法取消註冊並不重要 - 如果AutoUnregister爲ON,那麼AndEngine會爲你打電話。 – jmroyalty

回答

1

有兩個布爾值決定修飾符的壽命

protected boolean mFinished; private boolean mAutoUnregisterWhenFinished = true;

正如你可以看到默認情況下mAutoUnregisterWhenFinished爲true,修飾符完成時也設置mFinished。當這兩個布爾變量都變爲真值時,下面的條件被用來摧毀修改器。

if(modifier.isFinished() && modifier.isAutoUnregisterWhenFinished()) { 
       this.remove(i); 
      } 

關於您的問題,它取決你的

entity.unregisterEntityModifier(modifier); 

上面的代碼是用來當U想一個新的修改適用於精靈或entity.where作爲

modifier.setAutoUnregisterWhenFinished(true); 

僅在修飾符完成時才應用。 例如,如果您想要在運動到精靈時應用運動,則可以使用取消註冊修改器並應用新修改器。

感謝