2D 무한 러너를 만들고 있습니다. 게임에서 캐릭터가 기둥에서 기둥으로 점프하고 기둥이 무작위로 생성됩니다. 나는이 일을하고있다. 그러나 캐릭터가 기둥으로 뛰어 들지 못하고 기둥 사이의 틈에 빠졌는지 여부를 결정하는 방법은 무엇입니까? 기둥은 보통 직사각형입니다.
답변
플랫폼의 최소 허용 높이보다 낮은 레벨의 하단에 직사각형 영역을 추가하십시오. 플레이어가이 지역과 교차 한 경우 플랫폼에서 떨어졌습니다.
답변
게임이 가로로만 스크롤되는 경우 캐릭터의 세로 위치가 스테이지의 아래쪽 가장자리 아래에 있는지 확인할 수 있습니다.
게임이 세로 방향으로 스크롤되는 경우 (아마도 위 방향으로) 플레이어가 뷰의 아래쪽 가장자리 (예 : 화면의 스테이지 영역 또는 카메라 초점) 아래로 떨어진 지 확인할 수 있습니다.
일반적으로 사망 조건은 캐릭터가 “카메라”에 남아 있지 않은 경우입니다. 카메라의 움직임을 제어하여 게임 플레이를 조정할 수 있습니다. 예를 들어, 세로 스크롤 단계에서 카메라가 약간 아래로 “고무 밴드”만 허용하고 위쪽으로 완전히 움직이면 깊고 오프 스크린으로 넘어집니다.
답변
수직 좌표 를 확인하는 대신 수직 속도를 확인할 수 있습니다. 캐릭터가 아래로 빠르게 어떤 임계 값보다 떨어지는 경우 (이 경우에도, 그들은 죽었어 결론 입니다 여전히 영향은 치명적일 것이다 도달 일부 플랫폼 낮은에 충분가).
물론, 이것은 게임이 기본 자유 낙하 물리를 올바르게 구현하는 경우에만 작동합니다. 즉 하강 속도가 실제로 낙하하는 동안 (단말 속도까지) 실제로 증가 합니다.
답변
기둥 높이가 있으면 기존의 가장 낮은 기둥을 찾아서 플레이어의 세로 위치와 비교할 수 있습니다. 그가 가장 낮은 기둥 아래에 있다면, 그가 다시 돌아올 가능성이 없습니다. 이 확인은 플레이어의 앞뒤에있는 기둥으로 만 제한 할 수 있습니다.
예 : 우리는 높이가 [10, 20, 40] 인 3 개의 기둥이 있습니다. 점프 한 플레이어는 키가 40 인 기둥에 있고 앞으로 20으로 점프합니다. 그는 40에서 20 사이의 간격을 느꼈으 며 현재 높이는 15입니다. 덜 엄격한 점검을 위해 10 세 미만이 될 때까지 기다리십시오.
답변
캐릭터가 얼마나 오랫동안 쓰러 졌는지 세십시오. (즉, “아래로”이동 한 시간). 그들이 한 번 이상의 시간을 넘어 서면 정의상 무대에서 떨어졌습니다.