2

我又遇到了一个问题,我想我已经尝试了所有方法,但没有任何效果,所以我想请教您的任何想法:)

这里是:

在我的 AndEngine 游戏中,我切换场景。首先我有我的游戏场景,我的Sprite正在四处走动,然后我分离 Sprite 并切换到另一个场景[使用mEngine.setScene(otherScene)] 他再次连接。这就像一个魅力,直到我切换回游戏场景。

我将精灵从另一个场景中分离出来, [再次使用]切换mEngine.setScene(gameScene)回来,一段时间后(涉及 TimerHandler),精灵再次连接到该游戏场景。但它是不可见的。

以下是我能想到的一些事情,为什么这会失败......但到目前为止一切都检查过了:

  • 附加到正确场景的精灵
  • 正确的位置(他第一次来的同一个位置)
  • 精灵的正确大小(32x32 像素)
  • setVisible(true); (不管有没有都不起作用)
  • zIndex(设置为之前的值或设置为更高的值...)
  • Alpha值,如用于setAlpha(1f);完全可见性
  • 精灵有它自己的TextureAtlas (1024x1024) <--我知道,它很大 - 但它以前工作过:)
  • 我什至尝试重新加载纹理textureAtlas.load()

到目前为止没有任何效果 - 我仔细检查了这些设置中的每一个(通过记录它,设置它并再次记录它......)

现在我完全迷失了。问题是,到目前为止一切正常。精灵在四处移动,我在切换场景时没有问题……我什至第二次切换回另一个场景,精灵又出现了……但不在游戏场景中——甚至没有黑色方块或什么都没有.

哦,我可以在他移动时跟踪精灵。随着镜头跟随精灵,我看到他正在做他应该做的事情——他只是看不见。

还有什么想法吗?我在这里想念什么?你们有没有人经历过类似的事情?无论如何,感谢您抽出宝贵时间阅读本文!

此致

克里斯托夫

4

1 回答 1

2

engineOptions.getRenderOptions().disableExtensionVertexBufferObjects();在创建引擎之前尝试调用。我遇到了类似的问题,结果证明这个选项会强制 RAM 和 GPU 保持同步,这以某种方式(我还没有学习 OpenGL 的原理)阻止了 Sprites 消失。

于 2012-08-21T11:41:01.703 回答