ds_grid_height 함수 설명
ds_grid_height
함수는 주어진 그리드의 높이를 반환합니다. 이 값은 그리드의 y축을 따라 있는 셀의 수이며 항상 정수입니다. 아래 이미지를 참고하세요.
구문
ds_grid_height(index);
인수
인수 | 유형 | 설명 |
---|---|---|
index | 핸들 | 높이를 찾고자 하는 그리드의 핸들입니다. |
반환값
- 그리드의 높이(정수)
활용 예제
다음 코드는 grid
라는 변수에 인덱스된 DS 그리드를 반복하여, 특정 셀의 값이 1인 경우 "obj_Wall" 인스턴스를 생성합니다.
for (var i = 0; i < ds_grid_width(grid); ++i) {
for (var j = 0; j < ds_grid_height(grid); ++j) {
if (ds_grid_get(grid, i, j) == 1) {
instance_create_Layer(i * 32, j * 32, "Walls", obj_Wall);
}
}
}
추가 활용 예제
- 그리드의 모든 셀 출력하기
gml for (var i = 0; i < ds_grid_width(grid); ++i) { for (var j = 0; j < ds_grid_height(grid); ++j) { show_debug_message(ds_grid_get(grid, i, j)); } }
- 그리드의 특정 셀 값 변경하기
gml var x = 2; // 변경할 셀의 x좌표 var y = 3; // 변경할 셀의 y좌표 ds_grid_set(grid, x, y, 5); // (2, 3) 위치의 값을 5로 설정
- 그리드의 높이를 이용한 조건문
gml if (ds_grid_height(grid) > 5) { // 그리드의 높이가 5보다 클 경우 실행할 코드 }
- 그리드의 모든 셀을 0으로 초기화하기
gml for (var i = 0; i < ds_grid_width(grid); ++i) { for (var j = 0; j < ds_grid_height(grid); ++j) { ds_grid_set(grid, i, j, 0); } }
- 그리드의 높이를 기반으로 새로운 그리드 생성하기
gml var new_grid = ds_grid_create(ds_grid_width(grid), ds_grid_height(grid) + 2);
이와 같이 ds_grid_height
함수를 활용하여 다양한 작업을 수행할 수 있습니다.