Unity) Find Party Parrot (完)
게시글 주소: https://orbi.kr/00066581958
안녕하세요 뱁새입니다 (۶•<•)۶❗️
오늘은 카드에 애니메이션을 입히는 과정과
카드를 뒤집고 매칭하는 과정에 대해 정리해볼 예정입니다
이전 과정을 보고 싶으시다면 Find Party Parrot (1) / Find Party Parrot (2)을 클릭해주세요❗️
그럼 가봅쉬다❗️
첫 번째, 카드 랜덤 배치
1. 카드들을 랜덤하게 배치해주기 위해 리스트를 만들고
리스트 아래에 위와 같은 코드를 작성해주었습니다
이 코드는 parrots를 해당 범위 내에서 랜덤하게 정렬해달라는 의미를 가져요!
2. parrot 이미지를 코드로 지정하기 위해 Images 폴더 내 있는 이미지들을 Resources 폴더로 옮겨주었습니다
3. 코드로 지정한 이미지들을 가져오기 위해 위와 같은 코드를 작성해주었는데요
여기서 string parrotName = "parrot" + parrots[i].ToString(); 은 이미지 이름을 만드는 것,
newCard.transform.Find("front").GetComponent<SpriteRenderer>().sprite = 은 새 카드 아래 front를 찾아 sprite를 변경하는 것,
Resources.Load<Sprite>(parrotName); 은 Resources 폴더에 있는 parrotName을 가져오는 것을 의미한답니다
4. Unity로 돌아와 Prefab에서 front는 활성화, back은 비활성화를 해둔 뒤 실행을 해보면
이미지들이 랜덤하게 배치가 된 것을 확인할 수 있습니다
근데 이미지 위치가 중구난방이네 쉬이벌.. ㅋㅋ
두 번째, 카드 애니메이션 적용
이번 게임에서 카드에 적용해줄 애니메이션은 두 가지인데
하나는 카드가 까딱거리는 애니메이션
또 하나는 카드를 눌렀을 때 카드가 작아지는 애니메이션입니다
한 번 적용시켜볼까요?
1. 카드가 까딱거리는 기본 애니메이션을 만들어준 후 Prefabs 내 폴더에 있는 Card에 붙여넣고
2. Animation 편집기를 열어 카드의 rotation z좌표를 조정해주었습니다
3. 카드를 눌렀을 때 카드의 크기가 작아지는 flip 애니메이션을 만든 후 Card에 붙여넣고
4. Scale의 x, y좌표를 조정해주었습니다
5. 두 가지 애니메이션을 어느 조건에서 발동시킬 것인지를 관리하기 위해 컨트롤러에서 쌍방향 transition을 만든 후
각 transition에 대해 has exit time에 체크 해제하고, transition duration을 0으로 변경해주었습니다
6. 이후 각각의 transition에 파라미터 조건을 붙여주었는데요
idle ⇒ flip : bool이 true 가 되면 발동하게
flip ⇒ idle : bool이 false 가 되면 발동하게끔 하였습니다
세 번째, 카드 뒤집기
위에서 만든 애니메이션이 정상적으로 작동하기 위해서는 cs가 필요하므로 card.cs를 만드는 것으로 시작해볼게요
1. Card에 button 요소를 추가해주고
2. card.cs에서 카드를 클릭하면 front가 보이게 코드를 작성해주었습니다
3. Unity로 돌아와 On Click에 openCard 함수를 적용시켜주고
4. public Animator anim;과 anim.SetBool("isOpen", true);를 추가 작성해 애니메이션이 적용되도록 하였습니다
5. 실행해보면 카드가 정상적으로 뒤집어지는 것을 확인할 수 있습니다
네 번째, 카드 매칭하기
카드를 매칭하기 위해서는 gameManager가 첫 번째 카드의 이름을 갖고 있다가 두 번째 카드의 이름과 일치하는지 확인해야 합니다
1. 우선 card.cs에서 gameManager를 불러올 수 있도록 싱글톤 처리를 해주었습니다
2. 이후 매칭 로직 함수를 만들어두었습니다
3. 그리고 card.cs에서 openCard를 했을 때 firstCard가 공란일 경우 I가 firstCard가 되게
firstCard가 공란이 아닐 경우 I가 secondCard가 되도록 코드를 작성해주었습니다
4. gameManager.cs에서 isMatched 함수를 위와 같이 작성해
첫 번째 카드의 이름이 두 번째 카드의 이름과 같을 경우 "굿" 이 출력되게
같지 않을 경우 "우우" 가 출력되게 하였습니다
그리고 매칭이 끝나면 카드 이름을 비우도록 하였습니다
5. 확인해보니 두 카드가 서로 달라 "우우"가 출력되었군요
6. 그런데 아직 카드 매치 후 다시 뒤집는 로직을 만들지 않았기 때문에 card.cs에 위와 같이 네 가지 함수를 작성해주고
7. gameManager.cs에서 firstCard.GetComponent<card>().destroyCard()를 작성해
firstCard에 붙어있는 card.cs에서 destoryCard를 부를 수 있도록 하였습니다
다섯 번째, 이번 과정에서의 완성본
실행해보면? 카드 애니메이션부터 카드 매칭까지 모든 것이 성공적으로 구현되었네요!
이궈궈던 ㅋㅋ
이렇게 Find Party Parrot을 만드는 과정이 모두 끝이 났습니다❗
반복문부터 리스트 그리고 이미지 코드화 등등 꽤나 다양한 것들을 배우고 적용해보면서
한 층 더 성장한 것 같아 기쁘네요❗️
근데 요즘 유니티만 달려서 프론트엔드 다 까먹어버린
아아..
그럼 다음 개발 일지에서 뵈어요❗️
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
아침에 일어나신분들이 보고 반응남기고 좋아요 눌러주시더라구요 저는 1시쯤일어나서확인하고...
-
2024.07.11(목)에 실시된 2024학년도 7월 고3 모의고사 수학영역...
-
얼굴도 안보여주네 ㅅㅂ럼
-
오늘은 네시전 내일은 세시전 계획수립완료.
-
밥을 자주는 안먹는데 한번 맛있는거 꽂히면 겁나먹음 근데 자꾸 배달시키거나 비싼데서...
-
어느 해여름 금강변을 소요하다나는 하늘을 봤다.빛나는 눈동자.너의 눈은밤 깊은 얼굴...
-
(((퍼퍼ㅓ버벅 14
이거 저 초6때 유행하던 말투인데..
-
대기록 그건 바로 “탈트넘 효과” 탈트넘을 한 케인과 산체스는 과연 우승을 할 수 있을 것인가…
-
ㄱㅁ 5
-
마라탕후루 민트초코 11
필자는 놀랍게도 저 세음식을 한번도 먹어보지 않았다
-
제가 급하게 군대를가느라 공군, 기술행정병 전부 안하고 그냥 쌩육군가는데 거기서...
-
사람은 언제 죽는다고 생각하나? 심장을 총알이 꿰뚫었을 때? 불치의 병에 걸렸을...
-
걸리면 에프킬라로 고통스럽게 죽여줄게 10초단위로 뿌릴거니까 각오해라
-
80%정도면 계속 푸는게 낫겠죠? 얻어갈게 있다는 거니가?
-
무잔이다!! 0
녀석은 목을 베어도 죽지 않아!!
-
내일은 엽떡을 먹겠어요 16
결심했다
-
세상엔맛있는게왜이렇게많은거야
-
부모님이 두 분다 AA 혈액형이신데 자식이 0형일수가 있나요? 확률은 얼마나...
-
나도 질 수 없다 14
역대급 인생샷 개잘나옴
-
ㅇ?ㅈ 6
예쁘쥬?
-
그런 날은 저에게도 있었습니다 돌이켜 보면 한편 으로는 후회가 되기도 하고 또...
-
이게머고... 내 심장 안있나 막 두근두근 츠 뛰댕기쌋네.., 저짝에서도 oh my...
-
ㅇㅈ합니다 10
이정도면 잘생긴듯 ㅋㅋ
-
아니 다들 걱정안되어요? 이거 단순 탈릅아닌거 같음
-
읽기 귀찮으시면 넘겨주심 감사하겠습니다 그냥 전에 있던 일 생각나서 적어보면 실제로...
-
에너지 다 빼면 화낼 일도 없어지더라고요
-
이거 아시아인 차별 아님? 밤새느라 죽겠네 시발 코파는 포기한다
-
김구라식 속물개그 ㅈㄴ 웃김 ㅋㅋ
-
이거 수렴발산 판정 어케하나용..
-
아까 내가 옯에 누가 집앞에 골목에 똥누고 튀었다는 글을 올렸는데 그게 알고보니...
-
공부 재능빨이라고? 18
나새끼 수시충 노력파인데 미적 3모 76점에서 수능 93점에 국어 3덮 4등급에서...
-
잠은안오고~배는고프고~ 14
잠은안오고~니생각만나고~
-
잠시나마 혼자가 아닌 것만 같은 기분이 들어
-
저 똥글만 푸드덕 푸드득득덕덕 쌀 건데 뭐하러 팔로우를 해요 시발 진짜로;;;;;;;
-
결국 타이레놀 때려 넣었다 으어ㅓ어 근데 뭔일인데
-
자야겠다 2
다들 잘자요
-
고3때 오르비를 접했다면 무슨일이 일어났을지 몰라요..
-
할 게임이 얼마나 많고 좋아하는 버튜버가 이렇게많은데 죽긴왜죽어 아...
-
이거 뭔가 4
심상치가 않아서 걱정이네
-
꽤나 부러운 일이네요
-
범죄를 저지르지 않은 대다수의 사람들이라면 정말 죽을 합리적인 이유를 찾은게 아니라...
-
ㅇㅈ 2
안해주나 누가 요샌 인증메타 이런거없음요?
-
일단 자러 가보겠소....
-
갑종님 2
탈릅 별개로 잘못된 선택 안 하시길 바랍니다.. 좋은 문제들 만들어주셔서 감사합니다
-
조의금은 여기로…
-
행복하세요 0
현생 잘 사시구
-
주인 잃은 레어 1개의 경매가 곧 시작됩니다. 기하기하"기하러 화이티이이이잉"...
-
오르비할때저일즐거웠어요 진짜고맚ㅂ니다
![](https://s3.orbi.kr/data/emoticons/2020_foolsday/oribi/006.gif)
디따 멋지신!!!흐흐 항상 감사합미다!
뱁새바보
![](https://s3.orbi.kr/data/emoticons/rabong/013.png)
헉 뭐야 다시 바보로 회귀해버렷잔아![](https://s3.orbi.kr/data/emoticons/orcon/020.png)
선추 후감오 재밌다
뱁뱁이
![](https://s3.orbi.kr/data/emoticons/rabong/008.png)
내 덕코복권다음게임나올때까지숨참음
진짜 똑똑하신듯