【问题标题】:Andengine Sprite no longer visible after switching scenesAndengine Sprite 切换场景后不再可见
【发布时间】:2013-07-18 22:13:18
【问题描述】:

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

这里是:

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

分离精灵与其他场景,切换返回[再次使用mEngine.setScene(gameScene)],一段时间后(涉及 TimerHandler)精灵得到 再次附加到那个gameScene。 但它是不可见的。

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

  • 精灵附加到正确的场景
  • 正确的位置(他第一次来的那个位置)
  • 正确的尺寸精灵(32x32像素)
  • setVisible(true);(不管有没有都不起作用)
  • zIndex(设置为之前的值或设置为更高的值...)
  • Alpha 值与 setAlpha(1f); 类似,以获得完全可见性
  • 精灵有它自己的 TextureAtlas (1024x1024)
  • 我什至尝试重新加载纹理 (textureAtlas.load())

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

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

哦,我可以在精灵移动时跟踪它。 相机跟随精灵,我看到他正在做他应该做的事情 - 他只是看不见。

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

最好的问候

克里斯托夫

【问题讨论】:

    标签: java android andengine


    【解决方案1】:

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

    【讨论】:

    • 谢谢,我很感激。不幸的是,AndEngine GLES 2.0 中不再提供此选项(抱歉,我之前没有说,我正在使用该版本)。我在引擎选项中搜索了类似的东西,但找不到任何东西。我也无法通过谷歌找到任何关于此的信息。你知道如何在 AndEngine GLES 2 中强制同步吗?
    • 不知道,我现在被 GLES1 卡住了。
    • 感谢您的帮助。我会继续寻找,现在我知道要寻找什么了:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多