我使用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