path_add_point 함수 설명
path_add_point 함수는 지정된 경로에 점을 추가하고 해당 점의 속도 계수를 설정하는 기능을 제공합니다. 이 점은 경로의 끝에 추가되며, 점의 위치와는 관계없이 추가됩니다. 속도 계수는 경로 속도(path_speed)의 백분율로, 해당 점에 도달했을 때 인스턴스가 실제로 이동하는 속도를 나타냅니다. 경로의 끝이 아닌 다른 위치에 점을 추가하고 싶다면 path_insert_point() 함수를 사용해야 합니다.
Asset Browser에서 경로를 사용할 경우, 이 함수는 실제 자산을 변경하므로 게임 내 모든 인스턴스에서 경로 사용 방식에 영구적인 영향을 미칩니다. 만약 이러한 변경이 필요 없다면, path_duplicate()와 같은 함수를 사용하여 경로의 복사본을 만든 후, 복사된 자산에 대해 이 함수를 호출해야 합니다. 더 이상 필요하지 않은 자산에 대해서는 path_delete()를 호출하는 것을 잊지 마세요.
문법
path_add_point(index, x, y, speed);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| index | Path Asset | 점을 추가할 경로의 인덱스 |
| x | Real | 새 점의 x 좌표 |
| y | Real | 새 점의 y 좌표 |
| speed | Real | 점의 속도 계수 (기본값은 100) |
반환값
N/A
활용 예제
다음 코드는 인스턴스의 x/y 위치를 중심으로 원형 경로를 생성합니다.
my_path = path_add();
for (var i = 0; i <= 360; i += 36;) {
path_add_point(my_path, x + lengthdir_x(50, i), y + lengthdir_y(50, i), 100);
}
추가 활용 예제
- 직선 경로 생성하기
gml my_path = path_add(); path_add_point(my_path, x, y, 100); path_add_point(my_path, x + 100, y, 100); - 비정형 경로 생성하기
gml my_path = path_add(); path_add_point(my_path, x, y, 50); path_add_point(my_path, x + 50, y + 100, 75); path_add_point(my_path, x + 100, y, 100); - 속도 변화가 있는 경로 생성하기
gml my_path = path_add(); path_add_point(my_path, x, y, 50); path_add_point(my_path, x + 100, y + 50, 150); path_add_point(my_path, x + 200, y, 100); - 복사본 경로에 점 추가하기
gml original_path = path_add(); path_add_point(original_path, x, y, 100); duplicated_path = path_duplicate(original_path); path_add_point(duplicated_path, x + 50, y + 50, 100);
이와 같은 방법으로 path_add_point 함수를 활용하여 다양한 경로를 생성하고 조작할 수 있습니다.