我创建了一个小屏幕管理器(用于处理多个场景),其中每个类都从一个名为 Screen 的自定义类扩展而来,并在其加载方法中执行以下(例如)操作:
public Scene load() {
BitmapTextureAtlas mBitmapTextureAtlas = new BitmapTextureAtlas(512, 1024, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
SceneManager.loadTexture(mBitmapTextureAtlas);
scene.attachChild(bgSprite);
return scene;
}
问题是有时,如果您在屏幕之间快速移动,一些 Sprite 不会被渲染,有时它们会被渲染(这取决于我在场景之间切换的速度有多快)。
我想问题可能是我在 Sprite 还没有完全加载到内存中时将它们附加到场景中。是真的吗?知道如何解决这个问题吗?
最佳答案
是的,如果你在场景中移动,它就会发生,所以你可以为 Sprite 设置 bool 标志。如果为真则执行操作。它在执行碰撞检测时特别有用。
关于android - Andengine Sprite 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8768555/