我使用libgdx,我有這種情況下,我使用Stage
與三個Actors
附加。 當爲舞臺調用act()
方法時,每個actor的act()方法都被調用。這是默認行爲,它是正確的。libgdx Stage.dispose()不立即分離演員
但是,如果我將場景置於第二個演員act()
方法中,那麼第三個演員的act()
方法仍然被調用。我不會預料到這種行爲。就好像這個演員在舞臺上被調用dispose()
方法後不會立即分離。 對第三位演員的最後一次通話對我來說是有問題的,因爲我得到了一個異常,我不知道如何避免。如果第三個演員的act()方法不會被最後一次調用,那麼現場實際上處置將會很好。
你有什麼想法我怎麼能避免這種情況?
我覺得很難改變我的遊戲設計,因爲在我的情況下,第二個演員是敵人,第三個演員是防禦塔。當敵人死亡時,我處理場景以便在屏幕上顯示遊戲。但塔仍然在起作用的背景...
這是Stage的設計行爲。它保證每個演員的「行爲」方法在一個框架中被調用一次,而不管其他演員在做什麼。我認爲在大多數情況下,這是最有用的行爲。也許你可以分享你塔的行爲方法中發生的異常。 – Tenfour04 2014-12-04 21:43:26
謝謝,我相信重新設計我的應用程序的一部分可以避免這種情況。只是我覺得很奇怪,即使在演員被處置之後,仍然有演員在舞臺上表演。我不認爲有一個乾淨的方式來處理這個問題。 – linu 2014-12-07 22:02:03