경로 편집기
게임을 만들면서 인스턴스가 레벨을 따라 경로를 따라가야 할 필요가 있을 수 있습니다. 이를 코드로 구현할 수 있지만, 경로를 설정하고 변경하는 것이 번거롭고 어렵습니다. 그래서 GameMaker에는 경로 리소스와 전용 경로 편집기가 있습니다.
경로 정의하기
경로 편집기의 기본 아이디어는 간단합니다. 경로 편집기에서 경로를 그린 후, 객체의 생성 이벤트에서 인스턴스가 특정 경로를 따라가도록 지시하는 액션(또는 코드)을 배치합니다. 경로를 따라가는 속도와 경로의 위치 및 방향과 관련된 여러 다른 액션도 설정할 수 있습니다.
경로 속성
GameMaker의 모든 리소스와 마찬가지로, 새 경로에 고유한 이름을 부여해야 합니다. 많은 사람들이 사용하는 좋은 시스템은 리소스에 접두사(또는 접미사)를 추가하여 코드나 액션에서 쉽게 인식할 수 있도록 하는 것입니다. 예를 들어, path_Enemy_1
또는 PowerUp_path
와 같이 설정할 수 있습니다.
경로 이름을 정한 후, 오른쪽의 메인 편집기에서 점을 배치하여 경로를 정의할 수 있습니다. 각 점은 위치와 속도와 함께 목록에 추가됩니다. 경로 점의 속도 값은 인스턴스가 경로를 따라 이동하는 속도의 백분율로 정의됩니다(기본값은 100%입니다). 예를 들어, 인스턴스를 속도 2로 시작하면, 경로 점의 속도 값이 50%일 경우 인스턴스는 해당 점에 접근할 때 속도가 1로 줄어듭니다.
경로 연결 방식
경로의 전체 연결 방식을 지정할 수 있으며, 경로가 닫혀야 하는지 여부도 설정할 수 있습니다. 닫힌 경로는 경로의 마지막 점과 첫 번째 점을 연결합니다. 연결 방식은 직선 또는 부드러운 방식으로 설정할 수 있습니다. 직선 연결은 각 점에서 각도 변화가 있는 선형 연결을 생성하고, 부드러운 연결은 점을 직접 통과하지 않고 부드러운 곡선을 생성합니다.
경로 편집하기
편집 창에서 경로에 점을 추가하려면 클릭하면 됩니다. 점을 배치한 후에는 클릭하고 드래그하여 이동할 수 있으며, 왼쪽에 표시된 X, Y 위치 및 속도 값을 변경하여 수동으로 조정할 수도 있습니다. 여러 점을 선택하려면 Shift 키를 누른 채 클릭하면 됩니다.
추가 메뉴
편집기 창에서 오른쪽 클릭하면 추가 메뉴가 나타납니다. 이 메뉴의 항목은 다음과 같이 작동합니다:
항목 | 설명 |
---|---|
Delete Points | 선택한 점 또는 점들을 삭제합니다. |
Pan To Path | 편집기에서 경로의 중심으로 뷰를 이동합니다. |
Reverse | 경로 점의 순서를 반전시킵니다. |
Flip | 경로를 수평 축을 따라 뒤집습니다. |
Mirror | 경로를 수직 축을 따라 뒤집습니다. |
툴박스
편집기 창의 오른쪽 상단에 있는 툴박스 버튼은 편집기에서 그리는 방식을 제어합니다. 다음과 같은 부분이 포함되어 있습니다:
경로 점
경로는 단순히 선으로 연결된 점들의 모음입니다. 편집기에서 왼쪽 마우스 버튼을 사용하여 점을 배치합니다. 이미 배치된 점을 선택하려면 Ctrl 키를 누른 채 클릭하면 됩니다. 선택한 점에 대한 작업은 그룹으로 적용됩니다.
활용 예제
다음은 경로 편집기를 활용한 몇 가지 예제입니다:
// 경로를 따라 이동하는 인스턴스 생성
instance_create_layer(x, y, "Instances", obj_moving_instance);
obj_moving_instance.path_start(path_Enemy_1, 2, path_action_stop);
// 경로 점의 속도 조정
path_set_speed(path_Enemy_1, 150);
// 경로를 반전시키는 코드
path_reverse(path_Enemy_1);
// 경로 점 삭제
path_delete_point(path_Enemy_1, point_index);
// 경로를 부드럽게 만들기
path_set_smooth(path_Enemy_1, true);
이와 같은 방법으로 경로 편집기를 활용하여 게임 내에서 다양한 동작을 구현할 수 있습니다.