registerEntityModifier의 정지방법으로 clearEntityModifiers()를 자주 사용하지만 복수의 registerEntityModifier 중에서 일부 스프라이트만 정지시키는 방법으로 unregisterEntityModifier와 Modifier의 움직임에 대해 살짝 메모합니다.

 

LoopEntityModifier lem = new LoopEntityModifier(new SequenceEntityModifier

(new MoveXModifier(0.5f, getX(), getX()-100),

new MoveXModifier(0.5f, getX()-100, getX())));   //a

 

AlphaModifier am = new AlphaModifier(3.0f, 0, 1); //b

MoveXModifier mxm = new MoveXModifier(3.0f, getX(), getX()-200); //c

MoveYModifier mym = new MoveYModifier(3.0f, getY(), getY()-200); //x

 

SequenceEntityModifier sem = new SequenceEntityModifier(am,mxm,mym); a,b,c,x 순서대로 실행

 

Sprite.registerEntityModifier(sem); //스프라이트에 장착

Sprite.registerEntityModifier(lem);    //스프라이트에 장착 

Sprite.unregisterEntityModifier(sem);  //sem만 삭제

 

똑같은 로직

Sprite.registerEntityModifier(new ParallelEntityModifier(
new SequenceEntityModifier(b、c、x),
new LoopEntityModifier(a));  

 

기타 참고로 JumpModifier !! 이런 것도 있음!!!

점프처리를 JumpModifier 이녀석에게 맡겨두면 중력계산 등 복잡한 것들은 엔드엔진이 알아서 다 처리해줌!!!

 

JumpModifier jm = new JumpModifier(점프시간, 점프개시X좌표, 점프개시Y좌표, 착지X좌표, 착지Y좌표, 높이);

--->JumpModifier jm = new JumpModifier(2.0f, Sprite.getX(), Sprite.getY(), Sprite.getX(), Sprite.getY(), 100);  이런 느낌!!!

 

Sprite.registerEntityModifier(new SequenceEntityModifier(
new JumpModifier(1.0f, 점프개시X좌표, 점프개시Y좌표, 착지X좌표, 착지Y좌표, 높이100),
new MoveYModifier(1.0f, Sprite.getY(), 지면의 Y좌표)));

지면과 접촉한 때에는 Sprite.clearEntityModifiers();를 사용하면 될듯... 일단 조금 더 고민을....................

 

 



 

 

 

 

 


 

  

Posted by BeansLove
,

캐릭터의 점프여부는 주로 TouchEvent와 boolean변수로 판단합니다.

우선 2가지의 boolean변수를 준비합니다. ("isLanded", "isJump")

 

isLanded = true인 상태는 캐릭터가 바닥에 있는 상태, 그 반대의 경우는 점프상태로 판단하고,

isJump = true로 캐릭터를 점프시키고, false면 아래로 하강.

 

대략적인 코드는 아래와 같습니다.

 

//캐릭터의 점프처리, 즉 캐릭터가 점프중일 경우 실행

if(isJump == true) {

 downSpeed = 2.4f;

player.setY(player.getY() - upSpeed);

upSpeed *= 0.8f;

}else if (isLanded == false) {

upSpeed = 12;

player.setY(player.getY() + downSpeed);

downSpeed *= 1.0f;

if(downSpeed >= 6.5f) {

downSpeed = 6.5f;

}

}else if (isLanded = true) {

downSpeed = 2.0f;

}

//점프 한계치에 도달하면 강제낙하처리

if(player.getY() <= 120) {

 isJump = false;

}

 

/*화면이나 점프 버튼을 클릭하게 되면 점프를 실행합니다. 여기서 플레이어의 Y축을 마이너스로 설정함으로써 위로 점프하며 "upSpeed *= 0.8f; " 로 지정하여 자연스러운 포물선을 그리며 점프하게 합니다.

 

터치이벤트를 해제하면 else if (isLanded == false) 가 호출되어 아래로 낙하.

 

Posted by BeansLove
,

very simple control.
Drag the circle and release it to shoot the bubble!!
The bubble fall downward.
Avoid the bubble and hit the bubble !
be careful the ice bubble !!

 

 

GoolePlay :

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

 

 

 

 

 

 

 

 

 

GoolePlay :

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

Posted by BeansLove
,

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

 

 

 

 

 

 

 

Posted by BeansLove
,

짬짬이 디자인해 가며 코딩해가며 만들어 가던 것이 드디어 완성되서 오픈하게 되었습니다.

끊임없는 웨이브의 몬스터바이러스들을 처치하며 루비를 모으고 그 루비로 더욱더 강력한 Turret과 Base를 갖춰 나가야 합니다.

 

소개 영상 : http://youtu.be/ymbkFANOURk

 

영어버전 : https://play.google.com/store/apps/details?id=com.beansarcade.battleship

 

 

일본어버전 : https://play.google.com/store/apps/details?id=com.beansarcade.invader   (랭키파크 리더보드 지원)

 

 

처음 시작할때 기본 루비 100개를 줍니다. 이 루비로 기본 터렛과 베이스를 상점에서 구입하여 자신의 무기고에 등록합니다.

 

 

 

 

 

 

-루비를 빨리 얻고 싶으면 루비사다리에 도전!! 배팅루비5개로 사다리를 성공하면 루비 10개를 얻을 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Posted by BeansLove
,