有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

切换场景后,java和Engine精灵不再可见

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

在这里:

在我的AndEngine游戏中,我切换场景。首先我有我的游戏场景,其中我的精灵正在走动,然后我分离精灵并切换到另一个场景[使用^{],在那里他再次连接。这就像一个魅力,直到我切换回游戏场景

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

以下是我能想到的一些事情,为什么会失败。。。但到目前为止,一切都很顺利:

  • 精灵已附加到正确的场景
  • 正确的位置(与他第一次来的位置相同)
  • 校正精灵的大小(32x32像素)
  • setVisible(true);(不管有没有,都不起作用)
  • zIndex(设置为它之前的版本或设置为更高的版本…)
  • Alpha值与setAlpha(1f);类似,用于完全可见性
  • 精灵有自己的纹理层(1024x1024)<;-我知道,它是巨大的——但它以前起过作用:)
  • 我甚至尝试重新加载纹理(^{

到目前为止没有任何效果-我仔细检查了每个设置(通过记录、设置并再次记录…)

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

哦,我可以在精灵移动时跟踪他。随着摄像机跟随着精灵我看到他在做他应该做的事情-他只是隐形的

还有什么想法吗?我错过了什么?你们有没有经历过类似的事情? 无论如何,谢谢你花时间阅读这篇文章

致意

克里斯托夫


共 (1) 个答案

  1. # 1 楼答案

    在创建引擎之前,请尝试调用engineOptions.getRenderOptions().disableExtensionVertexBufferObjects();。我遇到了类似的问题,结果证明,这个选项迫使RAM和GPU保持同步,这在某种程度上(我还没有学习OpenGL的原理)阻止了精灵的消失