등각 타일에서 애니메이션 문을 처리하는 방법


10

나는 최선을 다하는 방법을 잘 모릅니다 까다로운 문제가 있습니다. 문의 애니메이션 타일이 있습니다. 닫히면 한 가지 방법으로 정렬해야하지만, 오픈 엔드 인 경우 다른 (인접 타일)에 속하므로 다른 방법으로 정렬해야합니다.

문이 닫혔습니다.

문 닫음

그리고 문이 열렸습니다.

문 열림

그런 타일의 정렬 시스템을 재정의하고 프레임을 기준으로 정렬을 조정할 수 있다고 생각하지만 약간 해키 느낌이 듭니다.

비슷한 시나리오를 경험 한 사람이 있습니까? 어떤 우아한 솔루션?


2
분류 시스템은 현재 타일의 그리기 순서를 어떻게 감지합니까?
Roy T.

답변:


4

다른 타일에 있는 두 개의 물체 로 문을 만들고 한 번에 하나만 표시 할 수 있습니다. 이런 식으로, 열린 문은 아마도 움직임을 막을 수도 있습니다.


4

스프라이트 3 개 생성 ...

  1. 문이 닫혔습니다 (첫 번째 스프라이트처럼)-움직임을 차단합니다
  2. 문의 프레임 (귀하의 게시물) 만 있지만 문은 없습니다-움직임을 차단하지 않습니다
  3. 열린 위치에있는 문만으로 움직임 차단

문이 닫히면 스프라이트 1을 그려서 "차단제"로 취급하여 플레이어가 걸을 수 없도록하십시오.

문이 열리면 스프라이트를 # 2 (문 포스트)로 교체하십시오. 그런 다음 문이있는 인접 셀에 스프라이트 # 3 (문만)을 배치하십시오.

닫는 것은 문을 제거하고 닫힌 위치의 포스트 + 문으로 포스트를 교체하는 것입니다.

이 설정을 사용하면 열린 문을 특별한 순서로 렌더링하는 것에 대해 걱정할 필요가 없습니다. 정사각형에있는 다른 객체와 같은 순서로 렌더링하십시오.

단점은 열린 문이 열리는 광장에 플레이어 나 다른 물건을 가질 수 없다는 것입니다.


3

2D 정렬에 사용하는 두 가지 트릭이 있습니다.

  • 스프라이트에지면 위치를 추가합니다. 이것은 스프라이트가지면에 닿는 지점 (fesmen 피트, 나무 줄기, 문틀)으로 스프라이트 픽셀 대신 정렬됩니다. 이런 식으로 스프라이트는 애니메이션의 영향을받지 않습니다

  • 정렬 할 수없는 자식을 개체에 추가합니다 (여성에게는 여러 가지 자식이있을 수 있습니다 (망토, 활, 칼 등, 문틀에는 자식 문이 있음). 이런 식으로 자식 스프라이트 애니메이션은 정렬에도 영향을 미치지 않습니다.


1

객체 정렬을 해결하는 가장 좋은 방법은 전혀 정렬하지 않는 것입니다. 깊이 버퍼를 사용하면 모든 것을 한 번에 렌더링 할 수 있습니다. z- 값이 높은 객체는 z- 값이 낮은 객체보다 멀리 떨어져 있습니다.

게임이 2D 인 경우에도 깊이 버퍼와 함께 3D 좌표 사용을 고려해야 합니다 .


사실, 그러나 Z 위치를 결정하는 방법은 무엇입니까? 정렬에
의해서만

예,하지만 이제는 정렬하는 대신 정렬이 오프라인으로 수행됩니다. 이제 레벨 디자이너는 객체 클리핑에 대해 걱정할 필요없이 Z 값을 염두에두고 레벨을 구축 할 수 있습니다.
knight666
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.