mp_grid_clear_rectangle 함수 설명
mp_grid_clear_rectangle
함수는 방(room) 좌표에서 특정 영역을 정의하고, 해당 영역에 해당하는 MP 그리드의 셀을 지우는 기능을 제공합니다. 정의된 직사각형 영역에 부분적으로 포함된 셀도 모두 지워집니다.
문법
mp_grid_clear_rectangle(id, x1, y1, x2, y2);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
id | MP Grid ID | 사용될 mp_grid의 인덱스 |
x1 | Real | 확인할 직사각형의 왼쪽 x 좌표 |
y1 | Real | 확인할 직사각형의 위쪽 y 좌표 |
x2 | Real | 확인할 직사각형의 오른쪽 x 좌표 |
y2 | Real | 확인할 직사각형의 아래쪽 y 좌표 |
반환 값
- Boolean: 성공 여부를 나타내는 불리언 값
예제
mp_grid_clear_rectangle(grid, 0, 0, 100, 200);
위 코드는 변수 "grid"에 인덱스된 mp_grid의 모든 셀을 0,0에서 100,200 영역 내에서 자유롭게 표시합니다.
활용 예제
예제 1: 특정 영역의 셀 지우기
mp_grid_clear_rectangle(my_grid, 50, 50, 150, 150);
이 코드는 my_grid
에서 (50, 50)에서 (150, 150)까지의 영역에 있는 모든 셀을 지웁니다.
예제 2: 게임 오브젝트가 이동한 후 영역 지우기
if (instance_exists(my_object)) {
var obj_x = my_object.x;
var obj_y = my_object.y;
mp_grid_clear_rectangle(my_grid, obj_x - 10, obj_y - 10, obj_x + 10, obj_y + 10);
}
이 코드는 my_object
가 존재할 경우, 해당 오브젝트의 주변 20x20 영역의 셀을 지웁니다.
예제 3: 사용자 입력에 따라 영역 지우기
if (keyboard_check_pressed(vk_space)) {
mp_grid_clear_rectangle(my_grid, mouse_x - 50, mouse_y - 50, mouse_x + 50, mouse_y + 50);
}
이 코드는 사용자가 스페이스바를 누를 때마다 마우스 위치를 중심으로 100x100 영역의 셀을 지웁니다.