2011-08-25 5 views
0

Im은 작은 2D 게임을 만들고 있으며, 이론적으로는 점프 및 서서히 물체를 작동해야합니다.
어떤 종류의 중력이 있어야 점프가 가능합니까? 충돌 감지를 사용해야합니까?
내가 좋아하는 것의 좋은 본보기가 마리오에서 점프하고 있습니다.2D 게임에서 점프 및 서기

+0

이상적인 점은 충돌 상자라고 불리는 곳에 캐릭터가 설정되어 있다는 것입니다. 점프에 관해서는 중력을 계산하는 알고리즘이 이상적이지만 게임이 Mario와 유사한 경우 고정 된 탄도를 설정할 수 있습니다. 끝내려면이 사이트의 게임 개발 전문가로부터 자세한 정보를 얻으십시오. http://gamedev.stackexchange.com/ –

답변

1

"게임 시간"을 사용하는 간단한 모델을 만드는 것이 가장 좋습니다. 중력을 기반으로 한 물리적 모델을 직접 만들 겠지만 원하는대로 할 수 있습니다.

캐릭터에 캐릭터가 서 있기를 원하면 충돌 감지 기능을 만들어야합니다. 좋은 시작은 객체를 하나 이상의 원 (또는 선)으로 근사하여 충돌을 계산하고, 근사 충돌이 더 정확한 방법으로 최종 상태를 결정하는 경우입니다.

0

중력 및 충돌 감지가 있어야한다는 측면에서 - 개인적으로 그러한 경우에 예 및 예라고 말합니다. 그것은 복잡하지 않지만 대신에 그 일이되면 "메인 루프"에 대한 의사 코드는 비교적 간단하게 : 물론입니다

if not colliding with object underneath, apply gravity 
if user presses jump key and not colliding with surface //i.e. if we're in the air already, don't jump again 
    apply upward velocity 

가 과도하게 단순화하고 다루는 다른 코너 경우가 있습니다 (점프 후 내려올 때처럼 바닥에 끼어 있거나 잠재적으로 바닥을 통과하지 마십시오.

모든 Java2d 작업과 같은 많은 작업을 처리하는 Greenfoot을 살펴볼 수 있습니다. , 충돌 감지 등. 당신이 그것에 충실하지 않을지라도, 프로토 타입을 만들거나 이야기 된 아이디어로 놀 수있는 좋은 플랫폼이 될 것입니다.

0

개체에 서서 충돌 감지를 의미하므로 문자 및 환경 개체를 원시 모양 (직사각형, 원 등)으로 근사시킬 수 있습니다. 모양이 충돌하는지 확인하려면 축을 하나씩 확인하십시오 (케이스의 X 축과 Y 축). Here은 "분리 축 정리"(섹션 1)에 대한 설명입니다.

관련 문제