맵 생성(Action: Create Map)
이 문서는 Create Map 액션에 대해 설명합니다. 이 액션은 새로운 맵 데이터 구조를 생성하고, 나중에 다른 데이터 구조 액션을 통해 접근할 수 있는 인덱스 값을 반환합니다. 생성한 맵 인덱스는 사용자가 제공하는 타겟 변수에 저장됩니다. 이 변수는 Assign Variable 또는 Declare Temp를 사용해 미리 생성되었거나, "Temp" 체크박스를 선택해 새 로컬 변수를 생성할 수 있습니다.
생성된 새 맵 데이터 구조는 "비어있다"고 간주되며, 즉 아무 키/값 쌍도 포함되어 있지 않습니다. 추가적인 DS 맵을 생성하려면, 액션 옆에 있는 플러스 아이콘을 클릭하고 다른 변수를 선택하여 맵 ID를 저장할 수 있습니다.
중요! 데이터 구조를 생성하면 타겟 플랫폼의 메모리를 사용하게 됩니다. 따라서 더 이상 필요하지 않은 데이터 구조는 Free Data Structure 액션을 사용하여 해제해야 합니다. 그렇지 않으면 메모리 누수가 발생해 게임 성능이 저하되거나 크래시를 일으킬 수 있습니다. 임시 로컬 변수를 사용하여 데이터 구조 인덱스를 저장할 때 특히 중요합니다. 이러한 변수는 코드 또는 이벤트가 끝날 때 제거되지만, 데이터 구조는 제거되지 않습니다. 따라서 인스턴스 변수를 사용하여 나중에 구조를 해제하거나, 이벤트나 함수가 끝나기 전에 임시 변수의 인덱스를 저장하고 구조를 해제해야 합니다.액션 문법:
인자(Arguments):
| 인자 | 설명 |
|---|---|
| Target | 맵 인덱스를 저장할 타겟 변수 |
예제 코드:
이 아래의 코드 블록은 새로운 인스턴스 변수를 생성하고 새로운 맵 데이터 구조를 생성하는 방법을 보여줍니다. 맵의 인덱스 값은 변수에 저장된 후 두 개의 아이템을 맵에 추가하는 데 사용됩니다.
// 새로운 맵 데이터 구조 생성
my_map = Create Map();
// 맵에 아이템 추가
my_map[? "item1"] = "value1";
my_map[? "item2"] = "value2";
활용 및 응용 예제
다음은 Create Map을 사용한 다른 활용 예제입니다.
예제 1: 사용자 정보 저장하기
사용자 이름과 점수를 저장하는 맵을 생성할 수 있습니다.
// 새로운 맵 데이터 구조 생성
user_info = Create Map();
// 사용자 이름과 점수를 저장
user_info[? "username"] = "player1";
user_info[? "score"] = 100;
// 게임 종료 시 맵 구조 해제
Free Data Structure(user_info);
예제 2: 아이템 종류 관리하기
다양한 아이템 종류에 대한 정보를 관리하는 예제입니다.
// 새로운 맵 데이터 구조 생성
item_types = Create Map();
// 아이템 추가
item_types[? "sword"] = "A sharp blade.";
item_types[? "shield"] = "Protects against attacks.";
// 아이템 정보 출력
show_message(item_types[? "sword"]);
// 맵 구조 해제
Free Data Structure(item_types);
이러한 예제들은 데이터 구조를 통해 게임 내 데이터를 효과적으로 관리하는 방법을 보여줍니다. 데이터 구조를 사용함으로써 게임의 상태를 유지하고 조작하는 데 도움이 됩니다.