DS Map의 키 값 설정하기
ds_map_set
함수는 주어진 DS 맵 내에서 특정 키의 값을 설정하는 기능을 제공합니다. 이 함수는 ds_map_create
함수로 생성된 DS 맵 값을 입력받고, 설정할 키와 그에 대한 값을 지정합니다. 만약 주어진 키가 존재하지 않으면, 새로운 키가 생성되고 지정된 값으로 설정됩니다.
사용법
다음과 같이 ?
접근자를 사용하여 맵의 값을 설정할 수도 있습니다:
map[? 5] = undefined;
map[? "level"] = 1;
map[? 89.6] = "hello world";
map[? 5] = buffer_get_address(buff);
이 함수는 아무것도 반환하지 않기 때문에, ds_map_replace
함수를 사용하여 키 값이 교체되었는지 또는 새로운 키가 생성되었는지 확인할 수 있습니다. 이 함수는 DS 맵 접근자를 사용하여 키/값 쌍을 설정하거나 생성하는 것과 동일합니다.
구문
ds_map_set(id, key, value)
인수 설명
인수 | 타입 | 설명 |
---|---|---|
id | DS Map | 사용할 맵의 핸들 |
key | Any | 설정할 키 |
value | Any | 키에 설정할 값 |
반환값
N/A
예제
다음은 ds_map_set
함수를 사용하는 예제입니다:
struct_key = {a: 10, b: "Some text"};
map_key_value_pairs = ds_map_create();
ds_map_set(map_key_value_pairs, "score", "the value belonging to the string key");
ds_map_set(map_key_value_pairs, 8, "The value belonging to the real number key");
ds_map_set(map_key_value_pairs, struct_key, "The value for the struct key");
show_debug_message(map_key_value_pairs[? "score"]);
show_debug_message(map_key_value_pairs[? 8]);
show_debug_message(map_key_value_pairs[? struct_key]);
위 코드는 먼저 기본 구조체 struct_key
를 생성합니다. 그런 다음 ds_map_create
를 사용하여 새로운 DS 맵을 생성하고, 이를 변수 map_key_value_pairs
에 저장합니다. 이후 ds_map_set
를 사용하여 DS 맵 내의 세 가지 서로 다른 키를 설정합니다: 첫 번째 키는 문자열, 두 번째는 숫자, 마지막은 구조체입니다. 마지막으로, 세 가지 값을 DS 맵 접근자 ?
를 사용하여 조회하고 show_debug_message
를 통해 출력합니다.
활용 예제
- 게임 점수 관리
게임에서 플레이어의 점수를 관리하기 위해 DS 맵을 사용할 수 있습니다. 각 플레이어의 ID를 키로 사용하고, 점수를 값으로 설정합니다.
gml player_scores = ds_map_create(); ds_map_set(player_scores, "player1", 100); ds_map_set(player_scores, "player2", 150);
- 설정 저장
게임의 설정을 저장하기 위해 DS 맵을 활용할 수 있습니다. 설정 항목을 키로 사용하고, 해당 값을 설정합니다.
gml game_settings = ds_map_create(); ds_map_set(game_settings, "volume", 75); ds_map_set(game_settings, "difficulty", "hard");
- 아이템 정보 관리
게임 내 아이템의 정보를 관리하기 위해 DS 맵을 사용할 수 있습니다. 아이템 ID를 키로 사용하고, 아이템의 속성을 값으로 설정합니다.
gml item_info = ds_map_create(); ds_map_set(item_info, 1, {name: "Sword", damage: 10}); ds_map_set(item_info, 2, {name: "Shield", defense: 5});
이와 같이 ds_map_set
함수를 활용하여 다양한 데이터 구조를 관리하고, 필요한 정보를 쉽게 설정하고 조회할 수 있습니다.