path_get_point_y 함수 설명
path_get_point_y 함수는 지정한 경로의 특정 포인트에 대한 y 좌표를 반환합니다. 이 함수는 주어진 포인트가 경로의 범위를 벗어날 경우 0을 반환합니다.
문법
path_get_point_y(index, n);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| index | Path Asset | 확인할 경로의 인덱스 |
| n | Real | 확인할 포인트 번호 |
반환 값
- Real: 지정한 포인트의 y 좌표
예제 코드
아래 코드는 인스턴스가 경로의 끝에 도달했는지 확인하고, 도달했다면 경로에서 무작위 포인트를 선택하여 인스턴스를 그 포인트로 이동시킵니다.
if (path_position == 1) {
var _num = path_get_number(pth_Patrol);
var _pos = floor(random(_num));
x = path_get_point_x(pth_Patrol, _pos);
y = path_get_point_y(pth_Patrol, _pos);
path_position = (1 / _num) * _pos;
}
활용 예제
- 경로를 따라 이동하는 NPC
- NPC가 경로를 따라 이동할 때, 특정 포인트에 도달했는지 확인하고, 도달하면 다음 포인트로 이동하도록 설정할 수 있습니다.
gml if (path_position == path_get_number(pth_NPC)) { var _next_point = (path_position + 1) % path_get_number(pth_NPC); x = path_get_point_x(pth_NPC, _next_point); y = path_get_point_y(pth_NPC, _next_point); }
- 경로의 특정 포인트에서 이벤트 발생
- 특정 포인트에 도달했을 때 이벤트를 발생시키는 방법입니다.
gml if (path_position == 3) { show_message("3번 포인트에 도달했습니다!"); }
- 경로의 포인트에 따라 다른 행동 수행
- 경로의 포인트에 따라 인스턴스의 행동을 다르게 설정할 수 있습니다.
gml switch (path_position) { case 0: // 첫 번째 포인트에서의 행동 break; case 1: // 두 번째 포인트에서의 행동 break; case 2: // 세 번째 포인트에서의 행동 break; }
이와 같이 path_get_point_y 함수를 활용하여 다양한 게임 로직을 구현할 수 있습니다.