2D 플랫 포머를위한 벽 점프


14

내 xna 게임에서 벽 점프를 구현하는 방법을 찾고 있었지만 그것에 대한 정보를 찾을 수 없습니다. 누군가 누군가 나를 도와 줄 수 있습니까?

답변:


21

점프하는 동안 플레이어가 벽과 충돌 할 때 (또는 원하는 경우 떨어지는 경우) 다음 100 밀리 초 정도 동안 플래그를 켜면 벽에서 멀어지는 방향으로 X 축의 상당한 속도. 실제로 점프가 시작되면 플래그를 일찍 끄십시오.


3
첫 번째 문장을 수정해야한다고 생각합니다 : "플레이어가 벽과 충돌 할 때 (점프하는 동안) ..." 예상했다.
CiscoIPPhone

@CiscoIPPhone : 예, 감사합니다. 충돌 후 100ms 이후에 이상한 동작 변화가 발생합니다.
혼돈

2

솔직히 포인트 확인을했을 것입니다. 그래서:

if (falling AND left_key_pressed AND !point_free(x-1,y))
    doWallJump

y를 y + sprite_width / 2 (또는-좌표계에 따라)라고 변경하여 스프라이트의 상단 왼쪽 또는 왼쪽이 아닌 왼쪽의 왼쪽을 확인하도록 할 수 있습니다. 이것이 N벽 점핑 (마지막 단락)에 대한 벽 점검을 구현 하는 방법 입니다.

그 후 당신은 당신이 당신의 벽 점프를 얼마나 단단히 결정해야합니다. 플레이어가 같은 벽에 다시 도달하기 전에 점프의 수직 속도가 수평을 넘어 서면 같은 벽으로 벽을 뛰어 넘을 수 없으며 점퍼가 바닥으로 점차 떨어지게됩니다 (벽 점프가있는 마리오 게임 에서처럼). ). 플레이어가 벽으로 돌아갈 수있을 정도로 수평이 약 해지면, 벽을 올라갈 수 있습니다 (Meat Boy와 같이).

언급되지 않은 또 다른 방법은 Super Metroid입니다. 당신이 벽에 맞설 때 그 게임에서, 당신이 그 벽을 벗어나면 아주 짧은 "벽을 떠나는"애니메이션이 재생됩니다. 애니메이션 도중 점프하면 벽 점프를합니다. (슈퍼 메트로이드는 플레이어가 벽 점프를 사용하여 벽을 올라갈 수 있지만 약간의 기술이 필요합니다 (사실 슈퍼 메트로의 벽 점프에 대한 모든 것은 상당한 기술이 필요합니다 ...)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.