2012-01-07 98 views
1

我创建了一个小屏幕管理器(处理多个场景),其中每类从所谓的屏幕自定义类扩展,并执行其负载方法如下(举例):Andengine精灵古怪行为

public Scene load() { 
    BitmapTextureAtlas mBitmapTextureAtlas = new BitmapTextureAtlas(512, 1024, TextureOptions.BILINEAR_PREMULTIPLYALPHA); 
    SceneManager.loadTexture(mBitmapTextureAtlas); 

    scene.attachChild(bgSprite); 

    return scene; 
} 

问题是,有时候,如果你在屏幕之间快速移动,一些精灵不会被渲染,有时它们(这取决于我在场景之间切换的速度)。

我想这个问题可能是我将精灵附加到场景中,但仍然没有完全加载到内存中。是真的吗?任何想法如何解决这个问题?

+0

为此,有一种onLoadScene()方法,试着在那里移动代码。 – JohnEye 2012-04-19 19:39:56

回答

1

是的,如果你穿过场景移动,那么你可以设置布尔标志作为精灵。如果为true,则执行操作。这在执行collisionDetections时特别有用。