0
andengine에서 메뉴 장면을로드하는 데 문제가 있습니다. 오류 메시지/추론을 이해할 수 없습니다.AndEngine 메뉴 장면을로드 할 수 없습니다 (OnCreateScene)
로그인 고양이 : GameActivity.Java
public class GameActivity extends BaseGameActivity {
private Camera camera;
private int CAMERA_WIDTH;
private int CAMERA_HEIGHT;
@Override
public EngineOptions onCreateEngineOptions() {
// TODO Auto-generated method stub
CAMERA_WIDTH = this.getResources().getDisplayMetrics().widthPixels;// retrieves
// the
// native
// width
CAMERA_HEIGHT = this.getResources().getDisplayMetrics().heightPixels;// retrieves
// the
// native
// height
camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
EngineOptions engineOptions = new EngineOptions(true,
ScreenOrientation.LANDSCAPE_FIXED, new FillResolutionPolicy(),
camera);
engineOptions.getAudioOptions().setNeedsMusic(true).setNeedsSound(true);
engineOptions.setWakeLockOptions(WakeLockOptions.SCREEN_ON);
engineOptions.getTouchOptions().setNeedsMultiTouch(true);
return engineOptions;
}
@Override
public void onCreateResources(OnCreateResourcesCallback pOnCreateSceneCallback) {
ResourceManager.prepareManager(getEngine(), this, camera,
getVertexBufferObjectManager());
pOnCreateSceneCallback.onCreateResourcesFinished();
}
@Override
public void onCreateScene(OnCreateSceneCallback pOnCreateSceneCallback) {
// TODO Auto-generated method stub
SceneManager.getInstance().setMenuScene(pOnCreateSceneCallback);
}
@Override
public void onPopulateScene(Scene arg0, OnPopulateSceneCallback pOnCreateSceneCallback) {
pOnCreateSceneCallback.onPopulateSceneFinished();
// TODO Auto-generated method stub
}
}
씬 매니저는 문제를 정확히 파악할 수있는 helpfull 도구가 될 수있다 :
public class SceneManager {
private BaseScene menuScene;
private BaseScene gameScene;
private static final SceneManager INSTANCE = new SceneManager();
private BaseScene currentScene;
private Engine engine = ResourceManager.getInstance().engine;
public enum SceneType {
SCENE_MENU,
SCENE_GAME,
}
public void setScene(BaseScene scene) {
engine.setScene(scene);
currentScene = scene;
}
public void setMenuScene(OnCreateSceneCallback pOnCreateSceneCallback) {
ResourceManager.getInstance().loadMenuResources();
menuScene = new MainMenuScene();
currentScene.createScene();
pOnCreateSceneCallback.onCreateSceneFinished(menuScene);
}
public void setScene(SceneType type) {
switch (type) {
case SCENE_MENU:
setScene(menuScene);
break;
case SCENE_GAME:
setScene(gameScene);
break;
}
}
public static SceneManager getInstance() {
return INSTANCE;
}
public BaseScene getCurrentScene() {
return currentScene;
}
}
을
01-12 14:44:25.883: E/AndEngine(2899): GameActivity.onCreateScene failed. @(Thread: 'GLThread 7465')
01-12 14:44:25.883: E/AndEngine(2899): java.lang.NullPointerException
01-12 14:44:25.883: E/AndEngine(2899): at com.saleem.dig.scene.SceneManager.setMenuScene(SceneManager.java:31)
01-12 14:44:25.883: E/AndEngine(2899): at com.saleem.dig.GameActivity.onCreateScene(GameActivity.java:54)
01-12 14:44:25.883: E/AndEngine(2899): at org.andengine.ui.activity.BaseGameActivity$3.onCreateResourcesFinished(BaseGameActivity.java:171)
01-12 14:44:25.883: E/AndEngine(2899): at com.saleem.dig.GameActivity.onCreateResources(GameActivity.java:47)
01-12 14:44:25.883: E/AndEngine(2899): at org.andengine.ui.activity.BaseGameActivity.onCreateGame(BaseGameActivity.java:183)
01-12 14:44:25.883: E/AndEngine(2899): at org.andengine.ui.activity.BaseGameActivity.onSurfaceCreated(BaseGameActivity.java:112)
01-12 14:44:25.883: E/AndEngine(2899): at org.andengine.opengl.view.EngineRenderer.onSurfaceCreated(EngineRenderer.java:80)
01-12 14:44:25.883: E/AndEngine(2899): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1501)
01-12 14:44:25.883: E/AndEngine(2899): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
내가 생각하는 코드 것은이 원인이 될 수 있습니다
정말로 이것을 할 수 있습니까? '개인 BaseScene menuScene; 개인 BaseScene gameScene; ' – jmroyalty