ds_grid_read 함수 설명
ds_grid_read
함수는 이전에 ds_grid_write()
함수로 생성된 문자열을 DS 그리드로 변환하는 데 사용됩니다. 이 DS 그리드는 미리 생성되어 있어야 합니다. 아래 예제를 참고하세요.
주의: 지정된 DS 문자열이 GameMaker: Studio 1.2.x 런타임(또는 이전 버전)에서 작성된 경우, 선택적 인수 "legacy"를 true로 설정해야 합니다. 문자열 형식이 그 이후로 변경되었기 때문입니다.
문법
ds_grid_read(index, string [, legacy]);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
index | DS Grid ID | 읽어올 그리드의 핸들 |
string | String | DS 그리드로 읽어올 문자열 |
legacy | Boolean | 선택적 인수, true 또는 false로 설정 가능 |
반환값
N/A
예제
다음 코드는 방의 크기에 따라 DS 그리드를 생성하고, 이전에 저장된 그리드 데이터를 ini 파일에서 읽어 새로운 DS 그리드에 저장합니다.
grid = ds_grid_create(room_width div 32, room_height div 32);
ini_open("Save.ini");
ds_grid_read(grid, ini_read_string("Save", "0", ""));
ini_close();
활용 예제
예제 1: DS 그리드 생성 및 데이터 읽기
// 방 크기에 맞춰 DS 그리드 생성
grid = ds_grid_create(room_width div 32, room_height div 32);
// ini 파일 열기
ini_open("Save.ini");
// 저장된 문자열을 읽어 DS 그리드에 저장
ds_grid_read(grid, ini_read_string("Save", "0", ""));
// ini 파일 닫기
ini_close();
예제 2: 레거시 데이터 읽기
// 레거시 모드에서 DS 그리드 읽기
grid = ds_grid_create(10, 10);
ini_open("LegacySave.ini");
ds_grid_read(grid, ini_read_string("Save", "0", ""), true);
ini_close();
예제 3: DS 그리드 데이터 처리
// DS 그리드의 데이터를 처리
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 == 1) {
// 특정 작업
}
}
}
예제 4: DS 그리드 저장
// DS 그리드 데이터를 ini 파일에 저장
ini_open("Save.ini");
ini_write_string("Save", "0", ds_grid_write(grid));
ini_close();
이 문서에서는 ds_grid_read
함수의 사용법과 다양한 활용 예제를 설명했습니다.