Blog (90)
게임개발 (32)
디버깅전쟁 (2)
여행/그림 (11)
3DMAX (1)
(27)
두더지  티스토어  위자드캐슬  무료게임  안드로이드 어플 추천  추천게임  위자드 캐슬  무료어플 
 dieta dukan f..
└>dieta dukan f..
 jquery
└>jquery
 stupid ,
└>stupid ,
 추녀는 “세상..
└>일다의 블로그..
«   2017/08   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
+ Total : 69,297
+ Today : 18
+ Yesterday : 33
  

 

 

 

점프 구현 코드 및 결과물
+   [게임개발]   |  2009.03.06 23:26  



점프의 구현방법은 gpg에서 검색한 http://www.xevious7.com/102 게시물을 참고하여 작성했다.
좋은 내용을 공개해주신 xevious님께 감사드립니다.^^)
직접 해보니 2D, 3D구분없이 똑같은 로직으로 적용이 가능하다.

동영상은 프레임이 좀 떨어져서 약간 거칠어 보이지만
"피카추배구"라는 게임에 나오는 점프와 최대한 비슷하게 맞춰보았다.
실제 코드를 돌려보면 너무나 부드럽고 자연스럽게 돌아간다.^^

먼저 초기화를 해준다. 아래 상수 값들은 만들고 있는 게임에 맞도록 적절히 수정해주면 된다.
날림으로 코딩한거라 변수명의 의미가 잘 안맞을 수 있다.ㅡㅡ^

      const float ACCEL_VALUE = 38.0f;   // 점프력으로 생각하면 됨.
      const float MOVING_VALUE = 0.08f;   // 시간값.
      const float OFFSET_VALUE = 5.0f;    // 이동할 거리(?) 그냥 오프셋값.

      m_fAccValue = ACCEL_VALUE;
      m_fTimeMoveValue= MOVING_VALUE;
      m_fOffsetValue = OFFSET_VALUE;
      m_bJump = false;


점프상태가 시작되면 매 프레임마다 아래 루틴을 호출해준다.
fDeltaTime은 프레임 시간값인데 이전 프레임에서 현재 프레임까지 얼마만큼의 시간이 흘렀는지를 갖고 있는 변수이다.
Ogre엔진을 사용한다면 frameStarted의 evt.timeSinceLastFrame 값을 사용하면 된다.

if(m_bJump)
{
   g_vDummy.y -= ((m_fAccValue * fDeltaTime) / m_fTimeMoveValue);
   m_fAccValue -= ((m_fOffsetValue * fDeltaTime) / m_fTimeMoveValue);
   if(g_vDummy.y >= 500)
   {
      // 땅에 착지했으므로 점프를 끝내고 관련된 값들을 초기화시킨다.
      // 다른 건물 위로 떨어지는등의 액션이 가능하다면
      // 따로 충돌체크를 해준 뒤 아래 값들을 초기화시켜주면 된다.
      m_fAccValue = ACCEL_VALUE;
      m_fTimeMoveValue= MOVING_VALUE;
      m_fOffsetValue = OFFSET_VALUE;
      m_bJump = false;
   }
}


만약 앞으로 나아가면서 점프를 해야 한다면(대부분이 이런 상황일 것이다)
전진, 후진은 원래 하던대로 현재 방향으로 속도를 주고(X좌표, 3D라면 X,Z)
점프는 점프대로 위 로직을 돌려주면 된다.
신고

 
 
     0   5
xevious7 2009.03.07 02:01 신고
^^ 대부분은 가져다가 써도 출처를 밝히거나 하지 않는데
이렇게 밝혀주시고 감사하디고 하시니 ~
그냥 지나갈수가 없는 포스트네요 :) 잘쓰셨다니
저도 뿌듯합니다. 좋은 하루되세요 :)
이석현 2009.03.09 21:16 신고 
네, 아주 큰 도움이 되었습니다.
다시한번 감사합니다.^^
랜스 2009.03.07 04:44 신고
진짜 피카츄배구스럽네요 ㅎㅎㅋ
이석현 2009.03.09 21:16 신고 
네.ㅎㅎ 피카추 배구 너무 재밌어요~^O^)/
엔루 2012.12.15 22:16 신고
저기 점프하면서 앞으로 이동키를 누르게되면 끊기면서 내려오게되는데 어떻게 고쳐야할까요

아이디 
비밀번호 
홈페이지 
비밀글   

 

<<이전 | 1 | ··· | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | ··· | 90 | 다음>>

이석현's Blog is powered by Daum

 

티스토리 툴바