방(Rooms) 설명서
게임 메이커(GameMaker)에서 게임을 만들기 위해서는 최소한 하나의 방이 필요합니다. 방은 게임을 구성하는 객체 인스턴스, 타일 및 기타 그래픽 리소스를 배치하는 공간입니다. 방을 처음 생성하면 자산 브라우저(Asset Browser)에서 방 편집기(Room Editor) 작업 공간이 열립니다.
방 편집기 구성 요소
방 편집기는 기본적으로 왼쪽에 방 도구가 배치되어 있으며, 두 가지 주요 섹션으로 나뉩니다.
레이어 편집기(Layer Editor)
- 방의 모든 요소는 레이어에 배치됩니다.
- 레이어는 깊이(depth)에 따라 정렬되며, 이 깊이가 게임 실행 시 화면에 렌더링되는 순서를 정의합니다.
- 깊이는 높은 값에서 낮은 값으로 정렬되며, 깊이가 낮을수록 "카메라"에 가까워지고, 깊이가 높을수록 멀어집니다.
깊이 값 | 설명 |
---|---|
-300 | 이 레이어는 깊이 -100보다 위에 렌더링됩니다. |
-100 | 이 레이어는 깊이 1000보다 아래에 렌더링됩니다. |
1000 | 이 레이어는 모든 깊이 값보다 아래에 렌더링됩니다. |
인스펙터(Inspector)
- 방의 속성(방 크기, 카메라 뷰포트 등)을 보여줍니다.
- 레이어의 속성을 변경할 수 있는 기능을 제공합니다.
레이어 유형
게임을 만들 때 사용할 수 있는 다양한 레이어 유형이 있습니다.
배경 레이어(Background Layer)
- 단일 색상 또는 단일 이미지를 채울 수 있는 레이어입니다.
- 방 안에서 이동 및 위치 조정이 가능합니다.
- 기본적으로 새 방에는 항상 배경 레이어가 포함됩니다.
인스턴스 레이어(Instance Layer)
- 게임에 필요한 객체 인스턴스를 배치하는 레이어입니다.
- 자산 브라우저에서 객체를 클릭하고 방 편집기로 드래그하여 추가할 수 있습니다.
타일 맵 레이어(Tile Map Layer)
- 타일 세트를 생성한 후, 방에 타일을 추가하기 위해 사용됩니다.
- 그리드 크기에 맞춰 자동으로 설정됩니다.
경로 레이어(Path Layer)
- 게임 실행 시 렌더링되지 않는 레이어입니다.
- 경로 자산을 생성하거나 편집하는 데 도움을 줍니다.
자산 레이어(Asset Layer)
- 그래픽 효과를 위해 사용되며, 인스턴스의 오버헤드 없이 그리기만 할 수 있습니다.
- 스프라이트 자산을 추가하여 방에 그릴 수 있습니다.
필터/효과 레이어(Filter/Effect Layer)
- 아래의 모든 레이어에 필터나 효과를 적용합니다.
인스턴스 추가하기
인스턴스를 방 편집기에 추가하려면 다음 단계를 따릅니다:
- 레이어 편집기에서 인스턴스 레이어를 선택합니다.
- 자산 브라우저에서 원하는 객체를 클릭하고 드래그하여 방에 놓습니다.
여러 인스턴스를 배치하려면, 자원 트리에서 객체를 선택하고 누르고 있으면 미리 보기가 나타납니다. 왼쪽 마우스 버튼을 클릭하면 방 레이어에 "페인팅"할 수 있습니다.
활용 예제
예제 1: 배경 레이어 추가하기
// 배경 레이어에 단일 색상 추가
background_color = c_blue;
예제 2: 인스턴스 레이어에 객체 추가하기
// 인스턴스 레이어에 적 객체 추가
instance_create_layer(512, 384, "Instance Layer", obj_enemy);
예제 3: 타일 맵 레이어 설정하기
// 타일 맵 레이어에 타일 추가
tilemap_set(tilemap, 0, 0, obj_tile);
예제 4: 경로 레이어 사용하기
// 경로 레이어에 경로 추가
path_add("MyPath");
예제 5: 자산 레이어에 스프라이트 추가하기
// 자산 레이어에 스프라이트 추가
instance_create_layer(256, 256, "Asset Layer", obj_sprite);
이 문서에서는 방 편집기의 기본 개념과 레이어 유형에 대해 설명했습니다. 다음 섹션에서는 프로그래밍 기초를 다루어 화면에 그리는 방법을 설명할 것입니다.