경로(Path) 사용하기
GameMaker는 게임 내에서 경로를 사용할 수 있는 다양한 함수와 내장 변수를 제공합니다. 이 섹션에서는 Path Editor에서 미리 생성된 경로를 다룰 때 사용되는 기본적인 함수들에 대해 설명합니다. 또한, 코드를 사용하여 자신만의 경로를 생성하고 다양한 방식으로 조작할 수 있는 추가 함수들도 존재합니다.
함수 참조
| 함수 이름 | 설명 |
|---|---|
path_start |
경로의 시작 지점을 설정합니다. |
path_end |
경로의 끝 지점을 설정합니다. |
path_get_closed |
경로가 닫혀 있는지 여부를 반환합니다. |
path_get_kind |
경로의 종류를 반환합니다. |
path_get_length |
경로의 길이를 반환합니다. |
path_get_name |
경로의 이름을 반환합니다. |
path_get_number |
경로의 번호를 반환합니다. |
path_get_point_speed |
특정 지점에서의 속도를 반환합니다. |
path_get_point_x |
특정 지점의 x 좌표를 반환합니다. |
path_get_point_y |
특정 지점의 y 좌표를 반환합니다. |
path_get_precision |
경로의 정밀도를 반환합니다. |
path_get_speed |
경로의 속도를 반환합니다. |
path_get_x |
경로의 x 좌표를 반환합니다. |
path_get_y |
경로의 y 좌표를 반환합니다. |
draw_path |
경로를 화면에 그립니다. |
경로 조작
경로를 조작하기 위해 사용할 수 있는 변수들:
인스턴스 변수
| 변수 이름 | 설명 |
|---|---|
path |
현재 인스턴스가 따르는 경로를 설정합니다. |
path_position |
경로에서의 현재 위치를 설정합니다. |
path_speed |
경로를 따라 이동하는 속도를 설정합니다. |
경로 변수
| 변수 이름 | 설명 |
|---|---|
path_length |
경로의 전체 길이를 반환합니다. |
path_closed |
경로가 닫혀 있는지 여부를 반환합니다. |
활용 예제
다양한 경로 관련 기능을 활용하는 예제 코드를 아래에 제시합니다.
// 경로 시작 및 끝 설정
path_start = path_add();
path_end = path_add();
// 경로의 길이 가져오기
var len = path_get_length(path_start);
// 경로의 이름 설정
path_set_name(path_start, "MyPath");
// 인스턴스에 경로 적용
instance.path = path_start;
instance.path_speed = 4;
// 경로를 따라 이동
if (instance.path_position < path_get_length(instance.path)) {
instance.path_position += instance.path_speed;
}
// 경로 그리기
draw_path(instance.path);
// 경로의 특정 지점에서의 속도 가져오기
var speed_at_point = path_get_point_speed(instance.path, 5);
// 경로의 x, y 좌표 가져오기
var x_coord = path_get_point_x(instance.path, 3);
var y_coord = path_get_point_y(instance.path, 3);
// 경로가 닫혀 있는지 확인
if (path_get_closed(instance.path)) {
// 닫힌 경로에 대한 처리
}
이와 같이 GameMaker의 경로 기능을 활용하여 다양한 게임 요소를 구현할 수 있습니다.