2012-10-09 6 views
0

아이폰 및 cocos2d에서 platformer를 만들려고합니다. 아직 Box2D를 사용하지 않았지만 ... 어떻게 해결할 수 있는지에 따라 사용해야 할 수도 있습니다.cocos2d에서 점프 및 콜리 싱

내 문제가 발생했습니다. 내 캐릭터 (스프라이트)가 평평한 선반을 따라 달릴 때, 나는 선반의 끝에서 때로는 효율적으로 점프하려고합니다. 캐릭터가 효과적으로 선반에서 "걸어서"내려간 직후에 점프를 누르는 중입니다. 시각적으로나 육체적으로 나는 기분이 아주 당황 스럽다. 왜냐하면 내가 마지막 순간을 압박 할 때마다 거의 확실하기 때문이다. 그러나 아니야, 너무 늦은 한 번이다.

누구나 같은 종류의 문제가 발생 했습니까? 똑똑한 방법을 알고 있습니까?

답변

1

내 생각에, 당신의 경우에 당신은 간단하게 "떠나는"플랫폼 후에 점프를 할 수있게 해주는 정밀도를 고려할 수 있습니다.

어쨌든, box2d는 충돌을 감지하고 신체 동작을 시뮬레이션 할 수있는 훌륭한 물리적 엔진입니다 (예 : 충돌 후 객체에 자동으로 회전을 적용 할 수 있음). 그리고 인터넷에 매뉴얼이 많이 있습니다. 어떻게 작동하는지 이해하는 데 도움이 될 것입니다.

+0

"정밀도"가 어느 정도인지 잘 모릅니다. 설명 할 수 있니? – teuteuguy

0

나는 그가 아직 선반에 있는지 확인하기 위해 캐릭터의 위치 만 사용하고 있다고 생각합니다. 그렇다면 캐릭터는 중심점이 난간 위로 지나가는 순간 "자신의 발판을 잃어 버릴"것입니다. 아니 platformer 않습니다.

대신 문자의 전체 경계 상자 너비를 테스트해야합니다. 테두리 상자의 왼쪽 하단이나 오른쪽 하단 모서리가 걷기 가능한 평면에있는 한, 문자는 선반에서 떨어질 수 없습니다. 캐릭터가 아직도 선반 위에 단지 한 발만 달린 선반 위에 서있는 많은 플랫폼 사에서 이것을 보게 될 것입니다. 당신이 관심을 가질만한

두 가지 :

Guide to implementing 2D Platformers. 당신이 알아야 할 거의 모든 것을 다룹니다. 코드는 없지만 알고리즘에 대한 지침을 따르기 쉽습니다.

다음은 cocos2d & box2d가있는 상용 플랫폼 게임 키트 Commander Cool입니다. 당신이 시간을 보내는 것보다는 개발 속도를 높이는 데 관심이 있다면 휠러 일명 platformer 프레임 워크 코드를 다시 발명하는 것입니다.

+0

48x48px 스프라이트에 "슬림"문자를 맞추기 위해 경계 상자 시스템을 사용하고 있습니다. 너 한테은 다음과 같습니다 - (현명한 경계 상자) 만들어 충돌 테스트 - - 위치가 두 번째 의 모든 1/60 업데이트 비동기이 접촉에서 올 수 점프 나는 내 문제에있다 생각하십시오 내가 (갱신)을 계산 목적지를 어딘가에 "떨어져"선회 (운동 + 중력) 다음 충돌을 통해 이동합니다. 목적지가 계산 된 후 점프가 눌 렸을 가능성이 높습니다. 목적지가 선반이나 공중에서 "꺼져"있기 때문에 점프가 무효화됩니다. 의견이 있으십니까? 내가 제공 한 2 개의 링크를 살펴 보겠습니다. 재미 있네. – teuteuguy