캐릭터의 점프여부는 주로 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
,