• ̫• 뱁새 • ̫• [1127282] · MS 2022 · 쪽지

2024-01-10 10:01:46
조회수 3,711

Unity) Find Party Parrot (2)

게시글 주소: https://orbi.kr/00066532305

안녕하세요 뱁새입니다 (۶•<•)۶❗️


오늘은 for문을 활용해 카드를 여러 장 배치하는 과정에 대해 정리해볼 예정입니다


이전 과정을 보고 싶으시다면 Find Party Parrot (1)을 클릭해주세요❗️


그럼 가봅쉬다❗️




첫 번째, Prefab 만들기



기존에 만들어두었던 카드를 여러 장 만들어 배치하여야 하므로 prefab을 활용해주어야 합니다

따라서 prefab 폴더를 만들고 card를 prefab 폴더 안으로 옮겨주었습니다




두 번째, for문 코드 작성 


사실 카드 16장 정도는 수작업으로 만들 수 있습니다

그럼에도 굳이 수작업을 하지 않는 이유는 귀찮기 때문에..


"엥 그래도 걍 카드 만들면 되지 않음? 차피 복붙 원툴인데 ㄹㅇㅋㅋ" 이라고 할 분들을 위해 

상황을 하나 제시해보겠습니다


만일 for문 없이 1~5까지의 값을 출력해야 할 경우




위와 같이 그리 어렵지 않게 직접 코드를 작성해 값을 출력할 수 있습니다


하지만 100까지의 값 아니 1000 그 이상의 값을 출력해야 하는 경우가 생긴다면?



여러분들은 끝없는 노가다에 지쳐 샷건을 갈기고 말 것입니다..


하지만 for문을 활용해 1000까지의 값을 출력해본다면?




이 단순 반복 노동 작업은 어머밥이 되어버립니다


☞ 그렇다면 for문이란 무엇인가?


for문은 루프문 중 하나인데 루프문은 단건의 데이터를 처리하는 것이 아니라 

여러 건의 데이터를 순차 처리할 때 사용되는 구문을 일컫습니다


이 for문에는 ;을 기준으로 세 가지 영역이 존재하는데..



이 사진 속의 코드를 예시로 세 가지 영역에 대해 설명을 해보도록 하지요


첫 번째 영역은 반복적인 조건에서 쓰일 변수를 선언하는 영역

두 번째 영역은 언제까지 반복적인 작업을 할 것인지를 지정하는 영역

세 번째 영역은 for문에서 명시한 행위를 한 번 할 때마다 어떠한 추가 동작을 하도록 설정하는 영역입니다


따라서 위 짤에서 쓰인 for문 안의 소괄호 속 코드는


1. 변수로 i를 사용할 건데 이 i는 0부터 시작이야

2. 그리고 i는 999까지만 반복 작업을 할 거야

3. 한 번의 반복 작업이 끝나면 i의 값을 증가시켜줘


라는 의미를 담고 있다고 볼 수 있지요


자 그럼, for문에 대한 설명은 여기까지 하도록 하고!



앞서 배운 내용을 토대로 카드를 16장 만드는 코드를 작성 후 실행해보면 



성공적으로 16장이 만들어진 것을 확인할 수 있습니다! (Hierarchy 속 Card(clone) 확인)


그런데 카드의 위치를 따로 설정해주지 않았기 때문에 모두 똑같은 위치에 겹쳐있게 되는데요



그렇다면.. 카드들의 위치를 잡아줘야겠지?


먼저 카드들은 가로로 4장 세로로 4장이 배치되어야 합니다

그리고 이 카드들은 각자 고유한 숫자를 지니고 있으며 이 숫자는 0부터 시작합니다


이때 숫자를 4개 단위로 끊으면 



로 나타낼 수 있고


1~4행(가로)의 수들은 모두 4로 나눴을 때 몫이 각각 0 1 2 3이라는 특징을

1~4열(세로)의 수들은 모두 4로 나눴을 때 나머지가 0 1 2 3이라는 특징을 가지고 있습니다



따라서 이 특징들을 이용해 위와 같이 x좌표와 y좌표를 표현할 수 있고


Unity로 돌아와 실행해보면? 



바둑판식 배열이 완성됩니다!


그런데 이 바둑판식 배열을 화면 가운데에 배치하여야 하므로



위와 같이 코드를 조금 수정해주었습니다 (x좌표를 -2.1f만큼, y좌표를 -3.0f만큼 땡기기)




세 번째, 이번 과정에서의 완성본 



어떠신가요!? 가운데 정렬 편--안하지 않나요?




이번 개발 일지에서는 for문을 활용하여 카드를 만들고 배치하는 과정에 대해 다루어보았는데



for문.. 이 녀석 굉장히 편리하잖아..?

여러분들도 반복문을 다루어볼 일이 있을 때 적극적으로 이용해보시길!


그럼 다음 개발 일지에서 뵈어요❗️



rare-더 귀여운 비둘기

0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.