DS Grid에서 값 가져오기
ds_grid_get
함수는 주어진 DS 그리드의 특정 셀에서 값을 가져오는 데 사용됩니다. 이 함수를 사용할 때 유효하지 않은 그리드 좌표를 전달하면 반환되는 값은 undefined
가 되며, 출력 창에 오류가 표시됩니다.
문법
ds_grid_get(index, x, y);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
index | 핸들 | 그리드의 핸들입니다. |
x | 정수 | 값을 찾고자 하는 셀의 x 위치입니다. |
y | 정수 | 값을 찾고자 하는 셀의 y 위치입니다. |
반환값
- 변수: 요청한 셀의 값
예제
var xx = irandom(ds_grid_width(grid) - 1);
var yy = irandom(ds_grid_height(grid) - 1);
val = ds_grid_get(grid, xx, yy);
위 코드는 "grid" 변수에 인덱스된 DS 그리드에서 임의의 셀을 선택하고, 그 셀의 값을 "val" 변수에 저장합니다.
활용 예제
- 그리드에서 특정 값 찾기
- 특정 조건을 만족하는 값을 찾기 위해 반복문을 사용할 수 있습니다.
gml for (var i = 0; i < ds_grid_width(grid); i++) { for (var j = 0; j < ds_grid_height(grid); j++) { var value = ds_grid_get(grid, i, j); if (value == 특정값) { // 특정값을 찾았을 때의 처리 } } }
- 그리드의 모든 값 출력하기
- 그리드의 모든 값을 출력하는 방법입니다.
gml for (var i = 0; i < ds_grid_width(grid); i++) { for (var j = 0; j < ds_grid_height(grid); j++) { var value = ds_grid_get(grid, i, j); show_message(string(value)); } }
- 랜덤 셀 값으로 게임 로직 구현하기
- 게임에서 랜덤한 이벤트를 발생시키기 위해 사용할 수 있습니다.
gml var random_x = irandom(ds_grid_width(grid) - 1); var random_y = irandom(ds_grid_height(grid) - 1); var event_value = ds_grid_get(grid, random_x, random_y); if (event_value == 1) { // 이벤트 발생 }
- 그리드 값 업데이트하기
- 특정 조건에 따라 그리드의 값을 업데이트하는 방법입니다.
gml for (var i = 0; i < ds_grid_width(grid); i++) { for (var j = 0; j < ds_grid_height(grid); j++) { var current_value = ds_grid_get(grid, i, j); ds_grid_set(grid, i, j, current_value + 1); // 값 증가 } }
이와 같이 ds_grid_get
함수를 활용하여 다양한 게임 로직을 구현할 수 있습니다.