[어플 실행 첫화면을 만들장~~]

 

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;
  }
 }
}
 

Posted by BeansLove
,