본문 바로가기
[ Unreal5 ]/- 언리얼엔진5 공부

언리얼엔진5 18장 [Map]

by MRG 2023. 2. 1.
728x90
반응형

▣ 안녕하세요.

이번장에서는 Map에 대해 공부해 보도록 하겠습니다. 

배열은 하나의 데이터로 여러 개의 값을 저장하면

맵은  Key와 Value로 이름을 하나하나 지정하며 값을 저장할 수 있습니다.

말로 설명하면 무슨 말인지 어려우니 직접 노드를 만들어보며 공부해 보겠습니다.

 

▣ Level BluePrint로 들어가서 number라는 변수를 생성합니다. 

그리고 디테일탭에서 Variable Type에서 Map으로 지정합니다. 

 

▣ 그럼 위에 이미지처럼 나오는데 Variable Type에 key와 value값을 지정할 수 있는데 

첫 번째는 string으로 두 번째는 integer로 지정합니다. 

컴파일을 하면 

Default Value에서 +버튼을 클릭하면  string 키 값과 Integer value 값을 지정할 수 있습니다.

 

▣ 이제 number 맵을 활용 하여 노드를 만들어보겠습니다.

number를 CTRL키를 눌러 드래그하여 GET 하고 블록에 네모 부분을 드래그하여 노드바탕에 마우스를 놓고 map탭을 확인해 보면 많은 함수들이 있습니다.

몇 가지를 사용해 보면서 공부해 보겠습니다.

 

▣ 위에 있는 이미지처럼 코드를 완성해 보겠습니다.

CLEAR함수는 맵의 모든 데이를 지우는 함수입니다.

ADD 함수는 내가 지정한 KEY와 VALUE값으로 맵에 추가합니다.

KEYS 함수는 KEY의 데이터인데 이걸 For Each Loop으로 출력해 보았습니다.

컴파일 저장 후 

 

▣ 씬에서 플레이버튼을 클릭하면 hp, speed처럼  KEY의 이름이 나오는 걸 확인할 수 있습니다.

 

▣ VALUES함수를 사용해 보겠습니다.

위에 이미지처럼 완성하고 저장을 하고

 

▣ 씬에서 플레이버튼을 클릭하면 이렇게 Value에 값이 출력되는 걸 확인할 수 있습니다.

 

▣ 그 외에도 FIND라는 함수가 있는데 이 함수는 해당 KEY값이 있는지에 대한 여부를 찾아줍니다.

만약 있다고 하면 그 해당 KEY의 Value값과 bool을 반환합니다.

없으면 False로 bool형만 반환합니다.

위에처럼 노드 완성 후 컴파일 저장 후

 

씬에서 플레이버튼을 클릭하면 100이 출력됩니다. 

 

▣ 이외에도 많이 쓰이는 함수로는

IS EMPTY함수인데 값이 있는지에 대한 여부를 확인하고 bool형으로 반환합니다.

CONTAINS함수는 FIND함수처럼 키값을 찾지만 bool형으로만 반환합니다.

728x90
반응형

댓글