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;
}
}
答案 0 :(得分:1)
看起来你没有“加载”TextureAtlas。在onCreateResources()
块的末尾添加此内容:
mAutoParallaxBackgroundTexture.load();