어플 실행시 바로 플레이화면으로 인되지 않고 타이틀화면(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;
}
}
'Android & AndEngine' 카테고리의 다른 글
엔드엔진(andEngine) adMob광고를 하단 중앙에 표시하는 법 (0) | 2014.02.05 |
---|---|
메모-Scene에 Android표준 Toast표시와 문자입력 다이얼로그표시 (0) | 2014.02.05 |
텍스트 출력에 멋을 부려보장~ (0) | 2014.01.28 |
InitialScene클래스 작성법 (0) | 2014.01.28 |
이클립스 프로젝트 네임 변경방법 (0) | 2014.01.28 |