본문 바로가기
[ CODING STUDY ]/》언리얼엔진5 공부

언리얼엔진5 17장 [배열]

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

▣ 안녕하세요.

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

결론부터 이야기하면 배열은 여러 개의 데이터를 저장하는 공간 메모리

그리고 배열은 선형구조이고 자료를 순차적으로 나열한 형태라고 생각하시면 됩니다.

데이터형식로 여러 개를 다룹니다.

그럼 직접 배열을 만들어보면서 공부해 보겠습니다.

▣ LevelBluePrint에서 numbers라는 변수를 생성합니다.

그리고 오른쪽 Details메뉴에 Variable Type에서 Array로 지정하고 컴파일을 합니다.

 

▣ 그리고 numbers를 GET 한 다음에 numbers 블록에서 네모 모양을 드래그하고 for를 검색하면

Utilities안에 Array에 For Each Loop이라는 배열에 관한 반복문이 있습니다.

이걸 클릭해서 사용해 보겠습니다.

▣ 위에 이미지처럼 배열의 값을 출력하는 노드를 완성합니다.

그리고 디테일메뉴에서 Default Value에 +버튼을 클릭하여 3개의 배열을 추가하고 값을 각각 지정합니다.

컴파일 저장을 하고

 

▣ 씬메뉴에서 플레이버튼을 클릭하면 배열의 모든 인덱스에 값이 출력됩니다. 

여기서 우리가 기억해야 하는 건 배열은 0부터 시작한다는 걸 기억해야 합니다.

 

▣  인덱스를 확인하기 위해 Format Text를 추가하여 index 번호와 value값을 동시에 출력해 보겠습니다.

코드를 완성했다면 컴파일 저장 후

 

▣ 씬에서 플레이버튼을 클릭하면 0번째에는 10, 1번째에는 20, 2번째에는 30 값이 들어있는 걸 확인할 수 있습니다.

 

▣ 이번에는 디테일탭에서 추가하는 게 아니라 코드로 직접 추가해 보겠습니다.

numbers를 드래그하고 Add라고 검색하면 이렇게 두 개의 Add 블록이 나오는 걸 확인할 수 있습니다.

 

▣ 먼저 일반적인 ADD 함수를 사용해 보겠습니다.

위에 이미지처럼 ADD함수는 인덱스 맨 뒤에 지정한 값을 하나 추가합니다.

ADD블록 두 개를 추가해서 10, 10 이렇게 두 개를 추가해 보겠습니다.

컴파일 저장 후

 

씬에서 플레이버튼을 클릭하면 이렇게 3번째 4번째에 10이 추가된 걸 확인할 수 있습니다.

 

▣ 이번에는 ADDUNIQUE를 사용해 보겠습니다. 

위에 이미지처럼 완성하고 컴파일 저장 후

 

▣ 씬에서 플레이버튼을 클릭하면 이렇게 아무것도 추가되지 않는 걸 확인할 수 있습니다.

ADDUNIQUE 함수는 ADD와 동일하게 인덱스 맨뒤에 지정된 값이 추가되는 건 맞지만 중복되는 값은 추가하지 않습니다.

다시 말해 0번째에 10이 존재하기 때문에 아무것도 추가하지 않았습니다.

 

이번에는 Clear 함수를 사용해 보겠습니다.

아까와 동일하게 Clear를 검색하여 찾습니다.

 

ADDUNIQUE 앞에 CLEAR함수를 연결한 다음에 컴파일 저장을 하고

▣ 씬에서 플레이를 하면 배열에 모든 값이 삭제되었고 0번째에 10이 추가된 걸 확인할 수 있습니다.

CLEAR함수는 배열의 모든 값을 삭제합니다.

ADDUNIQUE 함수는 중복 없이 추가하기 때문에 두 개의 블록이 있더라도 한 개만 10을 추가했습니다.

 

▣ 배열에서 많이 사용하는 함수들입니다.

CONTAINS 함수는 배열에 내가 검색하는 값이 있는지를 bool형식으로 반환하는 함수이고
FIND 함수는 찾는 데이터가 배열의 몇 번째 인덱스에 있는지 반환하는 함수입니다.
RESIZE 함수는 모든 데이터를 초기화시키고 원하는 메모리크기만큼 생성하고 그 배열의 모든 값을 0으로 초기화합니다.
Set Array Elem 함수는 내가 원하는 인덱스의 값을 바꿉니다. Size to Fit은 내가 지정한 인덱스가 없으면 강제로 크기를 늘려서 할당하는지에 대한 여부입니다.
SHUFFLE 함수는 배열의 값을 섞어주는 함수입니다.

REVERSE 함수 배열 데이트를 삭제합니다.

 

▣ 위에 있는 코드는 랜덤으로 중복 없이 숫자를 10개 배열에 넣는 코드입니다. 

코드를 완성했으면 컴파일 저장 후

▣ 씬에서 플레이버튼을 클릭하면 이렇게 랜덤으로 중복 없이 숫자가 출력됩니다.

728x90
반응형

댓글