2011-12-22 3 views
0

방금 ​​XNA로 돌아 왔고 맵 편집기를 만들기 시작했습니다. 이 게임은 애니메이션,지도, 레벨, 엔티티 및 제작 편집기를 모두 포함하는 2D 편집기입니다. 지금까지는 꽤 팽창하고 있습니다. 하지만, 내가 에디터 내에서 몇 가지 중요한 것들을 놓치고 생각 여기XNA T로 돌아 가기 T

는 제가 만들기 위해 노력하고있어 게임 설명하자 :

  • 을 정말 입자 편집기를 정교하게하는 방법을 알아낼 할을
  • 필자는 farseer phsyics 엔진을 사용하는 방법을 알고 싶습니다. (XNATutorial.com에서 시작하려했지만 제대로 작동하지 않았습니다.)

저에게 줄 수있는 도움을 미리 보내 주셔서 감사 드리며, 저는 2D 액션 플랫폼 작성자를 위해 게임에 들어가기 가장 좋은 것이 무엇인지 보려고합니다.

+2

하나의 게시물에 너무 많은 질문이 있습니다.보다 구체적이고 각 질문을 별도의 게시물로 구분해야합니다. http://gamedev.stackexchange.com/ 자매 사이트를 확인해보십시오. – DuckMaestro

답변

0

입자 편집기를 만들려면 먼저 수행 할 수있는 작업을 결정한 다음 특정 문제 나 질문으로 다시 돌아옵니다.

아마도 입자 템플릿을 디자인 할 수 있기를 원할 것입니다. 이것은 입자의 모양과 행동을 정의 할 수 있습니다.

그러면 입자 이미 터 템플릿을 편집 할 수 있습니다. 이것은 스폰 할 파티클 템플릿과 파티클 인스턴스가 가질 초기 속성을 정의합니다.

그런 다음 편집기에서 입자 이미 터 개체를 만듭니다. 파티클 이미 터 템플릿의 특정 속성을 무시할 수 있습니다.

이벤트에는 파티클 이미 터가 스폰 될 파티클 이미 터 템플릿이있을 수 있으므로 단일 에디터 개체에서 다른 입자를 방출 할 수 있습니다.

이렇게하면 노란색 동그라미였던 fire-outside 입자 템플릿, 이전에 비해 수명이 짧은 빨간색 파티클 인 fire-inside 입자 템플릿을 만들 수 있습니다. 그런 다음 각각에 대해 하나씩 2 개의 입자 이미 터를 정의합니다. 스폰 된 입자는 위쪽으로 약간 랜덤 한 방향을 나타냅니다. 그런 다음 Fire 또는 뭔가라는 멀티 이미 터를 만듭니다. 그런 다음 레벨 편집기에서 Fire 에미 터를 배치하고 게임에서 멋진 효과를 얻으십시오.


물리 엔진 설정과 관련된 문제를 게시하면 도움이됩니다.

전반적인 아이디어는 게임 개체 표현을 가지고 있으며이를 물리 개체에 만들어서 링크해야 해당 개체를 시뮬레이트하고 게임 개체 (렌더링 및 게임 논리)를 업데이트 할 수 있습니다.

레벨을로드 할 때 모든 실제 객체를 반복하고 물리 엔진에서 동등 물을 만들면 나중에 게임 객체를 실제 물리 객체에 연결할 수 있습니다. 분명히 게임이 진행되고 생성/파괴 된 곳의 게임 객체가 추가/삭제되어 물리적 인 객체를 추가/제거함으로써 두 시스템을 동기화 상태로 유지해야합니다.

그러면 게임 루프에서 자신의 위치를 ​​직접 업데이트 할 수있는 게임 논리를 실행하게됩니다. 그런 다음 physics 객체를 업데이트하여 해당 위치가 게임 객체의 위치와 같도록합니다. 그런 다음 물리 업데이트를 실행하십시오. 그런 다음 실제 개체의 위치에 따라 게임 개체의 위치를 ​​업데이트하십시오.

+0

George Duckett를 도와 주셔서 감사합니다. 물리 엔진을 만드는 데 문제가 없습니다. 이미 만들어진 물리 엔진, Farseer 물리학을 사용하는 방법을 알아 내려고 노력하고 있습니다. http://farseerphysics.codeplex.com/ – AriA

+0

내 게시물에 물리 엔진에 대한 설명이 없으며, 게임 내에서 (편집자) 생성 및 물리적 객체 생성 방법을 설명합니다. 당신은 당신의 물리 엔진에서 어떤 객체/클래스를 만들지 알아 내고 시작하기에 적절한 매개 변수로 생성 한 다음 물리 엔진에 남겨두고 실제 객체의 속성을 기반으로 렌더링하는 것을 업데이트해야합니다. 나는 Farseer를 사용하지 않았으므로 훨씬 더 말할 수는 없다. –