스프라이트 만들기
이 문서에서는 게임 제작에 필요한 다양한 자산 중 스프라이트에 대해 설명합니다. 스프라이트는 일반적으로 프로젝트를 시작할 때 가장 먼저 필요한 요소입니다.
스프라이트란?
스프라이트는 애니메이션이 가능한 이미지로, 화면에 그려질 수 있습니다. 일반적으로 스프라이트는 객체와 연결되지만, 코드나 방 편집기에서 독립적으로 그릴 수도 있습니다. 또한, 타일 세트로 사용할 스프라이트를 만들 수도 있습니다.
스프라이트 생성하기
새 프로젝트를 시작하면 자산 브라우저에는 필요한 자원에 대한 빈 폴더만 있습니다. "Sprites" 자산 폴더를 오른쪽 클릭하고 "Create -> Sprite" 옵션을 선택하여 스프라이트를 생성할 수 있습니다. 스프라이트 에디터가 열리면, 스프라이트의 이름을 지정해야 합니다. 모든 자산은 쉽게 식별할 수 있도록 이름이 필요하며, 일반적으로 "spr"로 시작하는 설명적인 이름을 붙이는 것이 좋습니다. 예를 들어, "spr_Ball"과 같이 이름을 지을 수 있습니다.
스프라이트 그리기
스프라이트를 그리기 위해서는 이미지 에디터를 사용합니다. 이미지 에디터는 게임 그래픽을 만드는 강력한 도구로, "Edit Image" 버튼을 클릭하여 열 수 있습니다. 이미지 에디터의 상단에는 프레임 뷰가 있고, 중앙에는 캔버스가 있으며, 오른쪽에는 브러시, 색상 견본, 도구 및 레이어가 있습니다.
이미지 에디터에서 그림을 그리고 옵션을 실험한 후, 이미지 에디터 작업 공간을 닫으면 스프라이트 에디터로 돌아갑니다.
스프라이트 원점 설정하기
스프라이트의 원점은 방 안에서 스프라이트를 "고정"하는 지점입니다. 대부분의 게임 객체의 경우 원점을 중앙으로 설정하는 것이 좋습니다. 원점 설정 메뉴에서 "Middle Centre"를 선택하면 원점 포인터가 스프라이트의 중앙으로 이동합니다. 원점 포인터를 클릭하고 드래그하여 원하는 위치에 배치할 수 있으며, x/y 필드에 값을 입력하여 수동으로 원점 위치를 설정할 수도 있습니다.
충돌 마스크 설정하기
충돌 마스크는 게임 내 다른 객체와의 충돌을 확인하는 영역입니다. 기본적으로 충돌 마스크는 사각형으로 설정되어 있으며, 이는 가장 빠르게 해결됩니다. 충돌 감지 모드는 자동(기본값) 또는 수동으로 설정할 수 있습니다. 수동으로 선택하면 왼쪽, 오른쪽, 위쪽 및 아래쪽 가장자리의 경계 상자 값을 설정할 수 있습니다.
스프라이트 가져오기
다른 소프트웨어에서 만든 스프라이트를 가져오려면 스프라이트 에디터에서 "Import" 버튼을 클릭하거나 파일 탐색기에서 이미지 파일을 드래그하여 GameMaker IDE에 추가할 수 있습니다. 자산 브라우저에서 스프라이트를 드래그하여 직접 추가할 수도 있습니다.
기능 | 설명 |
---|---|
스프라이트 이름 | 스프라이트를 식별하기 위한 이름 설정 |
원점 설정 | 스프라이트의 고정 지점 설정 |
충돌 마스크 | 다른 객체와의 충돌을 확인하는 영역 설정 |
가져오기 | 다른 소프트웨어에서 스프라이트 가져오기 |
활용 예제
// 스프라이트 생성
var mySprite = sprite_add("path/to/image.png", 1, false, false, 0, 0);
// 스프라이트 원점 설정
sprite_set_origin(mySprite, sprite_get_width(mySprite) / 2, sprite_get_height(mySprite) / 2);
// 충돌 마스크 설정
sprite_set_collision_mask(mySprite, 0, 0, sprite_get_width(mySprite), sprite_get_height(mySprite));
// 스프라이트를 객체에 할당
myObject.sprite_index = mySprite;
// 스프라이트 애니메이션 시작
myObject.image_index = 0;
// 스프라이트를 화면에 그리기
draw_sprite(mySprite, 0, x, y);
이제 스프라이트와 관련된 기본적인 내용을 이해했으니, 다음 섹션에서는 타일 세트에 대해 알아보겠습니다.