ds_grid_width 함수 설명
ds_grid_width
함수는 주어진 그리드의 너비를 반환합니다. 이 값은 그리드의 x축을 따라 있는 셀의 수이며 항상 정수입니다. 아래 이미지를 참고하세요.
문법
ds_grid_width(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 var grid = ds_grid_create(10, 10); // 그리드에 값 설정 ds_grid_set(grid, 0, 0, 1); ds_grid_set(grid, 1, 1, 1); // 그리드 너비를 사용하여 맵 생성 for (var i = 0; i < ds_grid_width(grid); ++i) { // 추가 로직 }
- 충돌 감지
gml if (ds_grid_get(grid, player_x, player_y) == 1) { // 충돌 처리 }
- UI 요소 배치
gml for (var i = 0; i < ds_grid_width(grid); ++i) { // UI 요소 생성 }
- 적 AI 경로 설정
gml for (var i = 0; i < ds_grid_width(grid); ++i) { // AI 경로 설정 로직 }
- 게임 레벨 디자인
gml for (var i = 0; i < ds_grid_width(grid); ++i) { // 레벨 디자인 요소 배치 }
이와 같이 ds_grid_width
함수는 다양한 게임 개발 시나리오에서 유용하게 활용될 수 있습니다.