2010-07-20 3 views
4

곡선 클래스를 생성 한 다음 XNA의 화면에서 해당 곡선을 2D로 그릴 수있는 방법이 있습니까?XNA에서 2D 곡선 그리기

기본적으로 임의의 지형을 곡선을 사용하여 생성 한 다음 그립니다. 그런 다음 그 커브를 사용하여 땅과의 충돌을 감지 할 수 있습니다.

답변

4

높이 맵의 2D 등가물이 원하는 것처럼 들립니다. 저는 진정한 "곡선"을 만드는 것을 피하고 선분으로 근사 곡선을 간단히 근사합니다.

그래서 기본적으로 균일 한 간격의 (수평으로) 일련의 지점에서 지형의 높이를 나타내는 숫자 또는 배열을 갖게됩니다. 두 점 사이의 높이가 필요하면 두 점 사이를 선형 적으로 보간하면됩니다.

을 생성하려면 무작위로 소수점을 설정 한 다음 나머지를 설정하는 부드러운 보간법을 사용할 수 있습니다. (실제로 원하는 커브 종류에 달려 있습니다.)

렌더링하려면 삼각형 스트립을 사용하면됩니다. 높이 맵의 각 점에는 두 개의 꼭지점이 연결됩니다. 하나는 화면 하단에, 다른 하나는 높이 맵의 해당 지점의 높이에 있습니다.

가 충돌 감지하려면 - 가장 쉬운 방법은 객체가 하나의 포인트가 될 것입니다 (당신이 초토화 같은 포병 게임을하고있는 것처럼 들린다) - 간단하게 얻을 개체의 X 위치를 취하는 해당 X 위치에서 지형의 Y 위치, 개체의 Y 위치가 지형보다 낮 으면 지형의 표면에 위치하도록 설정합니다.

어쨌든 대략적인 가이드입니다.

관련 문제