Autoparallax andeengine:黑屏

时间:2012-09-26 21:50:28

标签: android andengine

Autoparallax AndEngine会出现黑屏。

public class MainActivity extends SimpleBaseGameActivity {
    static final int CAMERA_WIDTH = 480;
    static final int CAMERA_HEIGHT = 320;
    int k = 700;
    public Font mFont;
    public Camera mCamera;

    // A reference to the current scene
    public Scene mCurrentScene;

    public BitmapTextureAtlas mAutoParallaxBackgroundTexture;
    public TextureRegion mParallaxLayer;

    public static MainActivity instance;

    public static MainActivity getSharedInstance() {
        return instance;
    }

    @Override
    public EngineOptions onCreateEngineOptions() {
        instance = this;
        mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);

        return new EngineOptions(true, ScreenOrientation.LANDSCAPE_FIXED, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT),
                mCamera);
    }

    @Override
    protected void onCreateResources() {
        BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");

        mAutoParallaxBackgroundTexture = new BitmapTextureAtlas(this.getTextureManager(), 1024, 1024, TextureOptions.DEFAULT);

        mParallaxLayer = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mAutoParallaxBackgroundTexture, this,
                "background.png", 0, 0);
    }

    @Override
    protected Scene onCreateScene() {
        mEngine.registerUpdateHandler(new FPSLogger());

        mCurrentScene = new Scene();

        final AutoParallaxBackground autoParallaxBackground = new AutoParallaxBackground(0, 0, 0, 10);
        autoParallaxBackground.attachParallaxEntity(new ParallaxEntity(5.0f, new Sprite(0, mCamera.getHeight()
                - this.mParallaxLayer.getHeight(), this.mParallaxLayer, this.getVertexBufferObjectManager())));
        mCurrentScene.setBackground(autoParallaxBackground);

        return mCurrentScene;
    }
}

1 个答案:

答案 0 :(得分:1)

看起来你没有“加载”TextureAtlas。在onCreateResources()块的末尾添加此内容:

mAutoParallaxBackgroundTexture.load();