DS 맵에서 첫 번째 키 찾기
개요
ds_map_find_first
함수는 DS 맵에 저장된 첫 번째 키를 반환합니다. 하지만 이 키는 추가한 순서와는 다르게 저장됩니다. DS 맵은 선형 형태로 저장되지 않기 때문에, DS 리스트를 사용해야 합니다. 이 함수는 DS 맵을 반복하면서 특정 값을 찾을 때 유용할 수 있지만, 가능한 한 피하는 것이 좋습니다. 왜냐하면 속도가 느릴 수 있기 때문입니다. 만약 주어진 DS 맵이 비어 있다면, 이 함수는 undefined
를 반환합니다.
문법
ds_map_find_first(id);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
id | 핸들 | 사용할 맵의 핸들 |
반환값
반환값 | 설명 |
---|---|
Variable | DS 맵의 첫 번째 키 또는 undefined |
예제
var size = ds_map_size(inventory);
var key = ds_map_find_first(inventory);
for (var i = 0; i < size; i++) {
if (key != "gold") {
key = ds_map_find_next(inventory, key);
} else {
break;
}
}
위의 코드는 임시 변수를 생성하고, DS 맵의 크기를 가져온 후, 컴퓨터에 저장된 첫 번째 키를 찾습니다. 그런 다음 for
루프를 사용하여 DS 맵을 반복하면서 "gold"라는 키 값을 찾습니다. 만약 찾으면 루프를 종료합니다.
활용 예제
- 재고 관리 시스템: 게임에서 아이템을 관리하는 DS 맵에서 첫 번째 아이템을 찾고, 그 아이템의 정보를 출력할 수 있습니다.
gml var first_item = ds_map_find_first(inventory); show_message("첫 번째 아이템: " + first_item);
- 퀘스트 시스템: 퀘스트의 진행 상황을 DS 맵으로 관리하고, 첫 번째 퀘스트의 상태를 확인할 수 있습니다.
gml var first_quest = ds_map_find_first(quests); var quest_status = ds_map_find_value(quests, first_quest); show_message("첫 번째 퀘스트 상태: " + quest_status);
- 적 AI 행동: 적의 행동 패턴을 DS 맵으로 저장하고, 첫 번째 행동을 가져와서 실행할 수 있습니다.
gml var first_action = ds_map_find_first(enemy_actions); execute_action(first_action);
- 설정 관리: 게임 설정을 DS 맵으로 저장하고, 첫 번째 설정 값을 가져와서 초기화할 수 있습니다.
gml var first_setting = ds_map_find_first(settings); apply_setting(first_setting);
- 레벨 데이터: 레벨 정보를 DS 맵으로 저장하고, 첫 번째 레벨의 정보를 가져와서 로드할 수 있습니다.
gml var first_level = ds_map_find_first(levels); load_level(first_level);