ds_grid_value_exists 함수 설명
ds_grid_value_exists
함수는 주어진 DS 그리드의 직사각형 영역 내에 특정 값(실수 또는 문자열)이 존재하는지를 확인하는 데 사용됩니다. 값이 존재하면 함수는 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
구문
ds_grid_value_exists(index, x1, y1, x2, y2, val);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
index | 핸들 | 그리드의 핸들입니다. |
x1 | 정수 | 그리드 영역의 왼쪽 x 위치입니다. |
y1 | 정수 | 그리드 영역의 위쪽 y 위치입니다. |
x2 | 정수 | 그리드 영역의 오른쪽 x 위치입니다. |
y2 | 정수 | 그리드 영역의 아래쪽 y 위치입니다. |
val | 값 | 찾고자 하는 값입니다. |
반환값
- 이 함수는 값이 존재하면
true
, 그렇지 않으면false
를 반환합니다.
활용 예제
아래의 예제는 DS 그리드에서 특정 값을 확인하고, 값이 발견되면 해당 값의 x 및 y 위치를 변수에 저장하는 방법을 보여줍니다.
if (ds_grid_value_exists(grid, 0, 1, 5, 6, val)) {
xpos = ds_grid_value_x(grid, 0, 1, 5, 6, val);
ypos = ds_grid_value_y(grid, 0, 1, 5, 6, val);
}
추가 활용 예제
- 값 존재 여부에 따른 조건문 사용
gml if (ds_grid_value_exists(grid, 0, 0, 10, 10, "target_value")) { show_message("값이 존재합니다!"); } else { show_message("값이 존재하지 않습니다."); }
- 다양한 값 검색
gml var search_values = ["value1", "value2", "value3"]; for (var i = 0; i < array_length(search_values); i++) { if (ds_grid_value_exists(grid, 0, 0, 10, 10, search_values[i])) { // 값이 존재할 때의 처리 } }
- 그리드의 모든 값 출력
gml for (var x = 0; x < grid_width; x++) { for (var y = 0; y < grid_height; y++) { var value = ds_grid_get(grid, x, y); if (value != undefined) { show_message("그리드의 값: " + string(value)); } } }
이와 같이 ds_grid_value_exists
함수는 DS 그리드에서 특정 값을 효율적으로 검색하고, 그에 따라 다양한 작업을 수행하는 데 유용합니다.