我正在使用AndEngine进行游戏2d。想要为不同级别和主菜单加载不同的活动或更好的不同场景。怎么做到这一点? ..我在哪里可以找到一个例子?
答案 0 :(得分:4)
我建议您使用场景代替活动来避免切换活动之间的黑屏。创建自己的场景管理器并将其用于更改屏幕。 基本示例:
public class SceneManager {
private static Game game; // your main activity
private static SceneManager sm;
private Scene mScene;
private SceneManager(){
}
public static void init(Game pGame){
SceneManager.game = pGame;
}
public static SceneManager getManager(){
if(game == null) throw new IllegalStateException("You must first initialize scenemanager class");
if(sm == null) return sm = new SceneManager();
return sm;
}
public void setMainMenuScreen(){
mScene = new MainMenuScene();
game.getEngine().setScene(mScene);
}
public void setGameScreen(){
mScene = new GameScene();
game.getEngine().setScene(mScene);
}
public Scene getCurrScene(){
return mScene;
}
}
首先在你的主类Game.java中你应该初始化你的场景管理器类并获得本地实例。之后根据您的游戏逻辑随意使用它:
private SceneManager sm;
SceneManager.init(this);
sm = SceneManager.getManager();
sm.setMainMenuScreen();
...
sm.setGameScreen();