엔드엔진으로 어플을 개발할때 자주 쓰는 Modifier에 관한 메모.

 

엔드엔진은 스프라이트에 애니메이션을 장착하기에 최적의 툴이라는 생각이 듭니다.(개인적으로..다른 툴은 다뤄보지 않았으니.....)든다.

기본적으로 modifier클래스를 스프라이트에 장착하는 것만으로 다양한 효과를 구현할 수 있습니다.

 

레이싱게임의 경우, 레이싱카가 달리기 전에

 

- "READY"를 화면에 표시하고

-1초 간격으로 READY에 볼륨을 주고

-1초 대기 후

-"GO!!"

- etc...

 

대충 위와같은 형식을 구현한다면..

 

먼저 비트맵폰트를 로딩한 후 텍스트를 표시하고

ready.SetText("READY");

attachChild(ready);

 

ready.registerEntityModifier((new SequenceEntityModifier(

new ScaleModifier(1.0f,1,2),     //1초간격으로 2배 확대
new DelayModifier(1.0f,new IEntityModifierListener(){
      @Override
       public void onModifierFinished(
        IModifier<IEntity> pModifier, IEntity pItem) {

((Text)pItem).setText("Go!!"); //1초 대기 후 GO!!로 변경
}

 @Override
  public void onModifierStarted(IModifier<IEntity> pModifier,
                 IEntity pItem) {


                  }
                }),

new ScaleModifier(0.3f,1,2),    //0.3초 간격으로 2배 확대

new DelayModifier(1.0f,new IEntityModifierListener(){
      @Override
       public void onModifierFinished(
        IModifier<IEntity> pModifier, IEntity pItem) {

pItem.detachSelf();

registerUpdateHandler(---------------);    

//1초 후 GO!!를 삭제하고 핸들러호출(즉, 레이싱카 GOGOGO!!)

}

 @Override
  public void onModifierStarted(IModifier<IEntity> pModifier,
                 IEntity pItem) {


                  }
                });

 

위와 같이 종료시점에서 어떤 액션을 취하고자 할 경우,

onModifierFinished 안에 구현하면 됩니다.

Posted by BeansLove
,

한글 조기교육을 위한 외국유아들을 위한 동물한글단어 사다리게임을 엔드엔진으로 만들어 봤습니다.

 

https://play.google.com/store/apps/details?id=com.beansarcade.koreaword

 

[How to Play]

Animals climbing from each column bottom don`t pair to the correct word at the top.
So your task is cutting a rung(click bar) in the ladder.
If you are cutting a exact rung, all animals will be able to reach the correct words.

 

 

 

 

 

Posted by BeansLove
,

아주 간단하게 엔드엔진 SplashScene을 만들어 보겠습니다.

어플을 실행하게 되면 SplashScene이 전개된 후 2초후 InitialScene(어플 첫화면)으로 전개되도록 하겠습니다.

 

먼저 MainActivity에 다음 2가지를 추가해 줍니다.

 

1. onCreateScene() 부분에 아래와 같이 추가한 후

 

2. MainActivity 의 아무곳이나 아래와 같이 추가해 줍니다.

 

그리고 SplashScene을 만든 후 입맛에 맞는 스프라이트를 추가한 후 아래와 같이 delayHandler를 설정해 주면 끝입니다.

 

 

실행하면 로고가 표시된 후 2초 뒤에 어플의 첫화면으로 전개됩니다.

지금은 간단하게 로고이지만 다양한 애니메이션이나 각종 효과를 장착하여 사용하시면 될 것입니다.

 

 

이상 울트라심플 엔드엔진 스플래쉬씬 만들기 였습니다.

Posted by BeansLove
,

엔드엔진의 버튼 ButtonSprite를 이용해서 조금 색다르게 총알발사를 구현해 보겠습니다.

총 6개의 발사버튼을 생성하고 버튼을 누를때 마다 각기 다른 색깔의 총알이 나가도록 합니다.

 

이것을 응용해서 다양한 게임제작이 가능할 것입니다.

 

예를 들자면 같은 색깔의 오브젝트 맞추기라던지...기타 등등

 

일단 버튼스프라이트를 아래와 같이 화면상에 배치해 봅니다.

 

 

위와 같이 총 6개의 발사버튼을 화면에 추가하고 살짝 애니메이션 효과를 주도록 합니다.

 

 

자. 발사버튼을 추가했으니 이제 총알을 발사해 봅니다.

각 발사 버튼 별로 각기 다른 총알이 발사되어야 하기 때문에 아래와 같이 switch문을 이용합니다.

 

 

즉, attackblue로 태그지정한 버튼을 클릭하면 파란색 총알이, attackred로 지정한 버튼을 클릭하면 빨간색총알이 나가도록 합니다. 아래처럼 간단하게 지정가능합니다.

 

 

그럼 쏘아 보도록 하겠습니다.

 

 

이렇게 구현하면 각 발사버튼별로 총알의 움직임도 다양하게 변화를 줄 수 있습니다.

 

그럼 좋은 하루 되세요.

 

 

 

Posted by BeansLove
,

엔드엔진의 물리충돌을 구현하기 위해서는 각 오브젝트에 Body를 생성해 줘야 합니다.

 

body를 생성해줄 오브젝트가 모두 동그랗고 네모라면 간단하게 createBoxBody와 createCircleBody로 가능하지만

게임을 제작하면 더 다양한 녀석들이 필요합니다.

여기에 도움될만한 녀석을 발견해서 소개하고자 합니다.

 

바로 이름하여...andEngine(엔드엔진) Vertex Helper !!

 

아래의 주소에서 다운받습니다.

https://code.google.com/p/andengine-vertex-helper/downloads/list

 

다운로드한 msi파일을 클릭해서 인스톨한 후 avhelper.exe로 실행합니다.

 

그럼 짜잔 아래와 같은 느낌...직관적이기 때문에 바로 어떻게 사용하는지 아실거에요.

 

 

 

 

 

Posted by BeansLove
,