5

在 andAngine 中,我需要在 andangine 中销毁场景并重新创建它,以便重新启动游戏变量、侦听器和游戏逻辑。我使用这个代码:

scene.detachChildren();
scene.clearEntityModifiers();
scene.clearTouchAreas();
scene.clearUpdateHandlers();

System.gc();
thisengine.setScene(menuscene);

然后我重新创建场景

scene = new Scene();
scene.dosomestuff
thisengine.setScene(scene);

当我第三次重新创建场景时,似乎出了点问题。精灵不显示..被扭曲或根本不显示某些东西。如果我正确初始化和销毁​​场景,谁能向我解释?

4

1 回答 1

4

就个人而言,我会在第一次使用场景时创建场景。

要更改场景,请按照您的说明执行删除操作,我不会打扰对 System.gc() 的调用,而不是创建新的 Scene() - 只需调用 scene.reset(), scene .dosomestuff等

像你展示的那样创建一个新场景看起来像是一个重大的内存泄漏,或者至少是一个可能的泄漏。

于 2012-05-24T16:13:36.300 回答