ds_map_values_to_array 함수 설명
이 문서에서는 ds_map_values_to_array
함수에 대해 설명하고, 다양한 활용 및 응용 예제를 제공합니다.
함수 개요
ds_map_values_to_array
함수는 DS 맵에 있는 모든 키의 값을 배열로 가져오는 기능을 제공합니다. 이 함수는 DS 맵 ID를 인자로 받아 해당 맵의 값을 배열 형태로 반환합니다. 만약 맵에 10개의 키가 있다면, 10개의 항목이 있는 배열이 반환되며, 각 항목은 해당 키의 값에 해당합니다.
함수 문법
ds_map_values_to_array(id, [array])
인자 설명
인자 | 타입 | 설명 |
---|---|---|
id | DS Map ID | 사용할 맵의 핸들입니다. |
[array] | Array | (선택 사항) DS 맵 값을 추가할 배열입니다. |
반환값
- 배열: DS 맵의 값들이 담긴 배열을 반환합니다.
예제
다음은 ds_map_values_to_array
함수를 사용하는 예제입니다.
var _values = ds_map_values_to_array(lvl_score);
var _total = 0;
var _length = array_length(_values);
for (var i = 0; i < _length; i++) {
_total += _values[i];
}
draw_text(32, 32, "Total score for all levels: " + string(_total));
위의 예제는 DS 맵에서 모든 값을 가져와 로컬 변수에 배열로 저장한 후, 배열을 반복하여 각 값을 더한 다음, 모든 값의 총합을 화면에 표시합니다.
활용 예제
- 게임 점수 집계: 여러 레벨의 점수를 DS 맵에 저장하고, 총 점수를 계산하여 화면에 표시할 수 있습니다.
gml var scores = ds_map_create(); ds_map_add(scores, "level1", 100); ds_map_add(scores, "level2", 200); var total_scores = ds_map_values_to_array(scores);
- 아이템 수집: 플레이어가 수집한 아이템의 수량을 DS 맵에 저장하고, 전체 아이템 수를 계산할 수 있습니다.
gml var items = ds_map_create(); ds_map_add(items, "sword", 1); ds_map_add(items, "shield", 2); var item_counts = ds_map_values_to_array(items);
- 통계 데이터 분석: 게임 내에서 발생한 이벤트 수를 DS 맵에 저장하고, 이를 기반으로 통계 데이터를 분석할 수 있습니다.
gml var events = ds_map_create(); ds_map_add(events, "kills", 50); ds_map_add(events, "deaths", 10); var event_counts = ds_map_values_to_array(events);
- 퀘스트 진행 상황: 플레이어의 퀘스트 진행 상황을 DS 맵에 저장하고, 완료된 퀘스트 수를 계산할 수 있습니다.
gml var quests = ds_map_create(); ds_map_add(quests, "quest1", true); ds_map_add(quests, "quest2", false); var quest_status = ds_map_values_to_array(quests);
- 재료 수집: 게임 내에서 수집한 재료의 수량을 DS 맵에 저장하고, 총 재료 수를 계산할 수 있습니다.
gml var materials = ds_map_create(); ds_map_add(materials, "wood", 10); ds_map_add(materials, "stone", 5); var material_counts = ds_map_values_to_array(materials);
이와 같이 ds_map_values_to_array
함수는 다양한 상황에서 유용하게 활용될 수 있습니다.