[어플 실행 첫화면을 만들장~~]
public class InitialScene extends KeyListenScene implements
ButtonSprite.OnClickListener {
private static final int INITIAL_START = 1;
private static final int INITIAL_RANKING = 2;
private static final int INITIAL_FEEDBACK = 3;
// 버튼이 눌려졌을때 효과음을 낸다
private Sound btnPressedSound;
public InitialScene(MultiSceneActivity context) {
super(context);
init();
}
@Override
public void init() {
// 백그라운드이미지
Sprite bg = getBaseActivity().getResourceUtil().getSprite(
"initial_bg.png");
bg.setPosition(0, 0);
attachChild(bg);
//타이틀에 효과를 주자. 여기서는 어플이 실행되면 타이틀이 위에서 아래로..
Sprite titleSprite = getBaseActivity().getResourceUtil().getSprite("initial_title.png");
placeToCenterX(titleSprite, 40);
titleSprite.setY(titleSprite.getY() - 200);
attachChild(titleSprite);
titleSprite.registerEntityModifier(new SequenceEntityModifier(new DelayModifier
(0.5f),new MoveModifier(1.0f,titleSprite.getX(), titleSprite.getX(),
titleSprite.getY(), titleSprite.getY() + 200,
EaseBackInOut.getInstance())));
//화면 왼쪽에서 밀려오는 효과주기
Sprite bambooLeft = getBaseActivity().getResourceUtil().getSprite(
"initial_bamboo_01.png");
placeToCenterY(bambooLeft, -bambooLeft.getWidth());
attachChild(bambooLeft);
bambooLeft.registerEntityModifier(new SequenceEntityModifier(
new MoveModifier(1.0f, bambooLeft.getX(), bambooLeft.getX()
+ bambooLeft.getWidth() - 50, bambooLeft.getY(),
bambooLeft.getY(), EaseBackInOut.getInstance())));
// 반대로 왼쪽에서 밀려오기
Sprite bambooRight = getBaseActivity().getResourceUtil().getSprite(
"initial_bamboo_02.png");
placeToCenterY(bambooRight, getBaseActivity().getEngine().getCamera()
.getWidth());
attachChild(bambooRight);
bambooRight.registerEntityModifier(new SequenceEntityModifier(
new MoveModifier(1.0f, bambooRight.getX(), bambooRight.getX()
- bambooRight.getWidth() + 50, bambooRight.getY(),
bambooRight.getY(), EaseBackInOut.getInstance())));
// 버튼 추가
ButtonSprite btnStart = getBaseActivity().getResourceUtil()
.getButtonSprite("initial_btn_01.png", "initial_btn_01_p.png");
placeToCenterX(btnStart, 240);
btnStart.setY(btnStart.getY() + 400);
btnStart.setTag(INITIAL_START);
btnStart.setOnClickListener(this);
attachChild(btnStart);
registerTouchArea(btnStart);
btnStart.registerEntityModifier(new SequenceEntityModifier(
new DelayModifier(1.0f), new MoveModifier(1.0f,
btnStart.getX(), btnStart.getX(), btnStart.getY(),
btnStart.getY() - 400, EaseBackInOut.getInstance())));
ButtonSprite btnRanking = getBaseActivity().getResourceUtil()
.getButtonSprite("initial_btn_02.png", "initial_btn_02_p.png");
placeToCenterX(btnRanking, 310);
btnRanking.setY(btnRanking.getY() + 400);
btnRanking.setTag(INITIAL_RANKING);
btnRanking.setOnClickListener(this);
attachChild(btnRanking);
registerTouchArea(btnRanking);
btnRanking.registerEntityModifier(new SequenceEntityModifier(
new DelayModifier(1.2f), new MoveModifier(1.0f, btnRanking
.getX(), btnRanking.getX(), btnRanking.getY(),
btnRanking.getY() - 400, EaseBackInOut.getInstance())));
ButtonSprite btnRecommend = getBaseActivity().getResourceUtil()
.getButtonSprite("initial_btn_03.png", "initial_btn_03_p.png");
placeToCenterX(btnRecommend, 380);
btnRecommend.setY(btnRecommend.getY() + 400);
btnRecommend.setTag(INITIAL_FEEDBACK);
btnRecommend.setOnClickListener(this);
attachChild(btnRecommend);
registerTouchArea(btnRecommend);
btnRecommend.registerEntityModifier(new SequenceEntityModifier(
new DelayModifier(1.4f), new MoveModifier(1.0f,
btnRecommend.getX(), btnRecommend.getX(),
btnRecommend.getY(), btnRecommend.getY() - 400,
EaseBackInOut.getInstance())));
}
@Override
public void prepareSoundAndMusic() {
try {
btnPressedSound = SoundFactory.createSoundFromAsset(
getBaseActivity().getSoundManager(), getBaseActivity(),
"clock00.wav");
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public boolean dispatchKeyEvent(KeyEvent e) {
return false;
}
public void onClick(ButtonSprite pButtonSprite, float pTouchAreaLocalX,
float pTouchAreaLocalY) {
//효과음 재생
btnPressedSound.play();
switch (pButtonSprite.getTag()) {
case INITIAL_START:
ResourceUtil.getInstance(getBaseActivity()).resetAllTexture();
KeyListenScene scene = new MainScene(getBaseActivity());
// 메인씬으로 이동
getBaseActivity().getEngine().setScene(scene);
getBaseActivity().appendScene(scene);
break;
case INITIAL_RANKING: //랭킹
break;
case INITIAL_FEEDBACK: //피드백을 받고 싶으면 넣고 귀찮으면 말고....개발자 맘~~
Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra(Intent.EXTRA_EMAIL,
new String[] { "내메일~~~주소" });
it.putExtra(Intent.EXTRA_TEXT,
"Type anything you think about this game! Thanks!");
it.putExtra(Intent.EXTRA_SUBJECT, "[Feedback]About 어플네임");
it.setType("message/rfc822");
getBaseActivity().startActivity(
Intent.createChooser(it, "Choose Email Client"));
break;
}
}
}
'Android & AndEngine' 카테고리의 다른 글
엔드엔진(andEngine) adMob광고를 하단 중앙에 표시하는 법 (0) | 2014.02.05 |
---|---|
메모-Scene에 Android표준 Toast표시와 문자입력 다이얼로그표시 (0) | 2014.02.05 |
텍스트 출력에 멋을 부려보장~ (0) | 2014.01.28 |
엔드엔진(andEngine) 멀티씬액티비티 작성 예.. (0) | 2014.01.28 |
이클립스 프로젝트 네임 변경방법 (0) | 2014.01.28 |