어플 실행시 바로 플레이화면으로 인되지 않고 타이틀화면(initialScene)을 보여주고

메인씬으로 넘어가는 구조를 구축하장~~

 

public class MainActivity extends MultiSceneActivity {

//화면 사이즈

        private int CAMERA_WIDTH = 800;
        private int CAMERA_HEIGHT = 480;

        public EngineOptions onCreateEngineOptions() {
        final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);

        

        EngineOptions eo = new EngineOptions(true,
                              ScreenOrientation.LANDSCAPE_FIXED, new RatioResolutionPolicy(
                                             CAMERA_WIDTH, CAMERA_HEIGHT), camera);

 

        //효과음사용

        eo.getAudioOptions().setNeedsSound(true);
               return eo;
 }

 

        @Override
        protected Scene onCreateScene() {

        //사운드파일 위치 지정

        SoundFactory.setAssetBasePath("mfx/");
        InitialScene initialScene = new InitialScene(this);

        

        getSceneArray().add(initialScene);
               return initialScene;
 }

@Override
        public void onPause() {
               super.onPause();
             

               if (getEngine().getScene() instanceof MainScene) {
                       ((MainScene) getEngine().getScene()).showMenu();
               }
        }

        @Override
        protected int getLayoutID() {
               
return R.layout.activity_main;
        }

        @Override
        protected int getRenderSurfaceViewID() {
              
return R.id.renderview;
        }

        @Override
        public void appendScene(KeyListenScene scene) {
               getSceneArray().add(scene);
        }

        @Override
        public void backToInitial() {
               
getSceneArray().clear();


               //
InitialScene으로 게임 시작

               KeyListenScene scene = new InitialScene(this);
               getSceneArray().add(scene);
               getEngine().setScene(scene);
        }

        @Override
        public void refreshRunningScene(KeyListenScene scene) {
               
getSceneArray().remove(getSceneArray().size() - 1);
               getSceneArray().add(scene);
               getEngine().setScene(scene);
        }

        @Override
        public boolean dispatchKeyEvent(KeyEvent e) {
               
if (e.getAction() == KeyEvent.ACTION_DOWN
                    && e.getKeyCode() == KeyEvent.KEYCODE_BACK) {
              
     if (!getSceneArray().get(getSceneArray().size() - 1)
                                      .dispatchKeyEvent(e)) {
               
         if (getSceneArray().size() == 1) {
                                      ResourceUtil.getInstance(this).resetAllTexture();
                                      finish();
                              }
                           
else {
                                      getEngine().setScene(
                                      getSceneArray().get(getSceneArray().size() - 2));
                                      getSceneArray().remove(getSceneArray().size() - 1);
                              }
                       }
                       return true;
               } else if (e.getAction() == KeyEvent.ACTION_DOWN
                              && e.getKeyCode() == KeyEvent.KEYCODE_MENU) {
                       getSceneArray().get(getSceneArray().size() - 1).dispatchKeyEvent(e);
                       return true;
               }
               return false;
        }
}
 

Posted by BeansLove
,