2010-02-22 9 views
0

배경이 특정 지점으로 스크롤되는 경우에만 나타나는 개체는 어떻게 배치합니까?XNA의 스크롤 배경에 개체 배치

예 - 위의 기술을 사용하여 스크롤을 계속하는이 긴 이미지가 있습니다. 그러나 이미지의 일부로 스크롤 한 후에 플랫폼을 추가하고 싶습니다. 내가 어떻게 그럴 수 있니?

답변

3

일반적으로 개체의 위치를 ​​파일에 저장 한 다음 수준 시작 부분에 해당 파일을로드해야합니다 (일종의 platformer 게임을 만든다고 가정 할 때). 이렇게하려면 플랫폼에 대한 모든 관련 정보 (위치, 크기, 텍스처 등)를 포함하는 클래스 또는 구조체를 만든 다음 XML 직렬화를 사용하여 해당 클래스/구조체의 배열을 파일에 씁니다.

그러면 레벨 로더가 레벨 데이터를로드하고 비 직렬화하여 레벨의 모든 오브젝트 목록 (예 : 플랫폼)이됩니다. 이제 플랫폼에 메모리가있는 위치를 얻었으니 화면에 표시하는 방법에 대한 몇 가지 옵션이 있습니다.

  1. 카메라의 시점에 있는지 여부에 관계없이 모든 개체 (플랫폼)를 항상 그립니다. 레벨에 많은 오브젝트가 포함되어 있지 않으면 구현하기가 쉽습니다.
  2. 카메라의 견해에있는 것들만 그립니다. 수평 스크롤러를 구현 한 방법을 모르면이 부분에 대한 제안을하는 것이 어렵습니다. 어떤 메커니즘을 사용하든 현재 표시 할 배경 부분의 경계를 식별해야하므로 어떤 객체를 그리는 지 결정할 수 있습니다.

지금은 수직 스크롤 게임에서 일하고 있어요, 나는 비슷한 할 수있는 방법이 필요 : 레벨에서 개최 객체와 배경이 그들에게 스크롤 할 때이를 표시합니다. 나는 TorqueX 2D (XNA 용으로 개발 비용을 지불 한 경우 무료 엔진 바이너리)과 2D 장면 편집기를 사용하여이를 매우 쉽게 설정했습니다. 내 카메라를 위로 스크롤하고 배경을 그대로 유지합니다. XML 레벨 파일에 정의 된 오브젝트 위치에 도달하면 레벨의 오브젝트를 생성합니다.

+0

감사합니다. Venesectrix. 나는해야 할 일은 타일 맵 (또는 그와 비슷한 것)을 사용했다는 것입니다. 실제로 XNA 포럼 (http://forums.xna.com/forums/t/48209.aspx)에이 질문을 올렸고 그 대답도 유효합니다. 하지만 오래된 학교 타일 맵은 모든 방법으로 :) 답변 해 주셔서 감사합니다! – DMan