DS 맵 보안 로드 함수 설명
ds_map_secure_load
함수는 이전에 저장된 DS 맵을 지정된 파일에서 로드하는 기능을 제공합니다. 이 파일은 반드시 ds_map_secure_save
함수를 사용하여 미리 생성된 파일이어야 하며, 로드 시에는 로드된 데이터로부터 생성된 DS 맵의 핸들을 반환합니다. 이 DS 맵 핸들은 변수에 저장되어야 하며, 이후 모든 함수 호출에 사용됩니다.
로드되는 DS 맵이 배열을 키 값 중 하나로 저장되었다면, 로드 시 이 배열은 DS 리스트로 변환됩니다. 보안 저장 파일의 특징 중 하나는 해당 파일이 생성된 장치에 잠겨 있기 때문에, 한 장치에서 저장된 파일을 다른 장치에서 실행 중인 프로젝트에 로드할 수 없다는 점입니다.
문법
ds_map_secure_load(filename);
인수 설명
인수 이름 | 타입 | 설명 |
---|---|---|
filename | String | 맵 데이터를 로드할 파일의 이름입니다. |
반환 값
- DS 맵 핸들
예제
p_map = ds_map_secure_load("p_data.dat");
위 코드는 보안 저장된 DS 맵을 로드하고, 그 인덱스 값을 변수에 저장하여 이후에 사용할 수 있도록 합니다.
활용 예제
- DS 맵 저장 및 로드 ```gml // DS 맵 생성 var my_map = ds_map_create(); ds_map_add(my_map, "key1", "value1"); ds_map_secure_save(my_map, "my_data.dat");
// DS 맵 로드 var loaded_map = ds_map_secure_load("my_data.dat"); ```
- 키 값으로 배열 사용하기 ```gml // 배열 생성 var my_array = [1, 2, 3]; var my_map = ds_map_create(); ds_map_add(my_map, "array_key", my_array); ds_map_secure_save(my_map, "array_data.dat");
// DS 맵 로드 var loaded_map = ds_map_secure_load("array_data.dat"); var loaded_list = ds_map_find_value(loaded_map, "array_key"); ```
- 다양한 데이터 타입 저장하기 ```gml var my_map = ds_map_create(); ds_map_add(my_map, "integer_key", 42); ds_map_add(my_map, "string_key", "Hello World"); ds_map_secure_save(my_map, "mixed_data.dat");
// DS 맵 로드 var loaded_map = ds_map_secure_load("mixed_data.dat"); var int_value = ds_map_find_value(loaded_map, "integer_key"); var str_value = ds_map_find_value(loaded_map, "string_key"); ```
- 에러 처리
gml var filename = "non_existent_file.dat"; if (file_exists(filename)) { var loaded_map = ds_map_secure_load(filename); } else { show_error("파일이 존재하지 않습니다.", true); }
이와 같은 예제들을 통해 DS 맵을 효과적으로 저장하고 로드하는 방법을 이해할 수 있습니다.