본문 바로가기
GameMaker강좌[GMS2]/GMS2기초강좌

[게임메이커 강좌-기초][GMS2] 스프라이트와 충돌마스크

by 타락카얀 2018. 4. 12.
728x90

 

 

GAME MAKER 강좌

 

 

KAYAN


 

 

 

 

 

 

 

◈ 스프라이트와 충돌 마스크

 

 

스프라이트 이미지는 게임 캐릭터, 폭발 이펙트와 같은 그래픽 효과, 배경, 타일, 등 게임에서

보여줄 수 있는 그래픽 요소들입니다.

이것은 여러 방면으로 쓰이기 때문에 단일 이미지로 구성해도 되고, 애니메이션으로도 구성할 수

있습니다.

 

 

(▲ 스프라이트 이미지)

 

 

스프라이트는 미리 제작된 이미지를 Import 메뉴를 통해 불러올 수 있고, Edit Image 를 통해

직접 이미지를 편집하여 추가할 수도 있습니다.

 

 

(▲ 이미지 편집 화면)

 

애니메이션 재생 속도를 미리 설정할 수 있습니다.


(▲ 애니메이션 재생 속도 설정)


   Frames per second : 프레임/초
   Frames per game frame : 프레임/게임속도

재생 속도는 값이 작을 수록 느려지는데, 보통 게임 속도(게임 프레임)를 기준으로 맞추면 됩니다.
여기서 설정한 값이 현재 이미지의 애니메이션 재생 기본 값이 됩니다.

참고로 게임 속도(게임 프레임)는 초당 몇 프레임으로 구동할 지를 말하며 이것은 게임 옵션에서
변경할 수 있습니다.

 


(▲ 게임 속도 설정)


스프라이트는 오브젝트를 사용하여 화면에 표시하거나, 이벤트와 상관 없이 룸의 에셋 레이어에서

바로 배치하기도 합니다. 에셋 레이어는 오브젝트의 이벤트 없이 보통 애니메이션 배경이 필요할 때

사용하기도 합니다.
그리고 타일 리소스를 구성하여 룸의 타일 레이어 에 배치하거나, 룸의 배경 레이어 에서 배경으로

사용할 수도 있습니다.

 

 

 

 



◈ 중심점 설정

 

 

스프라이트 이미지는 중심점을 설정할 필요가 있습니다.
중심점은 이미지를 회전하거나, 또는 이미지를 반전시킬 때, 그리고 인스턴스간의 충돌을 체크할 때와 같이
여러 상황에서 영향을 미치므로 상당히 중요한 설정입니다.

인스턴스의 위치에 비해 캐릭터가 다른 곳에 표시된다면, 이 중심점 설정을 한번 확인할 필요가 있습니다.

 


(▲ 중심점 설정)

 

일반적으로 중심점은 Origin 값에 숫자로 입력하면 중심점이 지정한 위치로 설정됩니다.

또는 그 옆에 있는 미리 지정된 프리셋 값으로 간단하게 설정할 수도 있습니다.

 

   Top Left : 위쪽-왼쪽
   Top Centre : 위쪽-가운데
   Top Right : 위쪽-오른쪽
   Middle Left : 중간-왼쪽
   Middle Centre : 중간-가운데
   Middle Right : 중간-오른쪽
   Bottom Left : 아래쪽-왼쪽
   Bottom Centre : 아래쪽-가운데
   Bottom Right : 아래쪽-오른쪽


   Custom : 사용자 설정 (미리보기 이미지에서 마우스 왼쪽 버튼을 클릭하여 위치 설정 가능)

 

(▲ 중심점 프리셋 위치 설정)



 

 

 


◈ 마스크 설정

 


마스크는 인스턴스와 인스턴스간의 충돌을 체크할 때 필요한 설정입니다.

 

 

(▲ 충돌 마스크는 두 오브젝트 간의 충돌을 체크하는데 사용)

 

충돌 마스크는 스프라이트 이미지의 Collision Mask 에서 설정할 수 있습니다.

 


마스크를 설정하기 위해선 먼저 어떤 기준으로 마스크를 지정할 것인지 선택합니다.

   Automatic : 자동
   Full image : 이미지 전체 크기로 설정
   Manual : 사용자 크기

Automatic(자동)은 이미지의 투명도를 계산하여 크기를 자동으로 잡아주고, Full image(전체 이미지)
이미지의 형태와는 상관없이 이미지 전체크기를 기준으로 처리하며, Manual (사용자 설정)사용자가

직접 범위를 지정할 수 있습니다.

그리고 마스크를 설정할 수 있는 기본 마스크의 모양은 다음과 같습니다.

 


(▲ 마스크 설정)


   Rectangle(fast) : 사각형(처리가 빠름)
   Ellipse : 타원형
   Diamond : 다이아몬드형
   Precise : 모든 이미지 프레임을 합친 이미지 모양으로 처리
   Precise Per Frame : 이미지 프레임별로 마스크를 처리

게임의 상황에 맞추어 마스크를 설정하면 됩니다.
오브젝트에 별도의 마스크를 지정하지 않으면 오브젝트에 지정된 스프라이트 이미지가 기본 마스크로

설정됩니다.

충돌 마스크를 별도로 지정(오브젝트의 Collision Mask)하게 되면, 오브젝트의 Sprite 에 지정된

스프라이트 이미지의 충돌 설정은 무시되고, 충돌 마스크로 지정한 충돌 설정대로 체크하게 됩니다.

 


(▲ 충돌 마스크 지정)

 

 

 

 

 

300x250

댓글