본문 바로가기

Unity

(66)
⑦ 게임 끝내기 모든 카드의 짝을 맞췄을 때, 게임이 끝나는 기능을 만들어야 한다. 게임이 끝나고 문구를 클릭했을 때 다시 실행이 가능하도록 하는 EndingTxt를 구현해 보자 게임이 끝나기 위한 조건 = 남아있는 카드가 존재하지 않는 경우 END 문구를 눌렀을 때, 재 실행되는 기능을 구현해 보자
⑥ 카드만들기 - 판정 시스템 두 개의 카드가 열렸을 때 비교를 해보고 동일한 카드라면 파괴시키고 다른 카드라면 다시 닫아주는 로직을 구현해야 한다. 각각의 카드에 Index 숫자값을 넣어줬다. 숫자가 짝을 이루고있기때문에 두 개의 카드의 동일성을 판별하기 위해서는 두 숫자가 같으면 파괴시키고 같지않으면 다시 닫아주자. 카드 두 개의 정보를 갖고 있어야 한다. 두 개의 카드 정보를 갖고 있는 Card 스크립트를 자료형 첫 번째 카드가 열렸을 때, 이 카드가 GameManager에 있는 firstcard에 정보를 넘겨주고 두 번째로 열리는 카드가 firstcard라고 하는 변수에 데이터가 있는지 없는지 확인을 하고 있다면 secondcard라고 하는 변수에 정보를 넘겨주고 Matched라는 함수를 발동 그러기 위해서 카드들..
⑤ 카드 만들기 - 애니메이션 및 뒤집기 회전하는 느낌을 주기 위해서 20 정도에 로테이션 z값 3을 설정 40으로 옮겨서 로테이션 z값을 다시 0으로 설정 녹화버튼을 눌러서 다시 재생을 눌러 보자 이제 카드를 클릭했을 때 살짝 작아지는 애니메이션을 구현 녹화버튼을 누르고 scale의 x값과 y값을 1.2 녹화 버튼을 풀고 저장한 뒤, Cardflip의 루프타임을 해제 두 개의 애니메이션을 만들었으니 조건에 따라서 실행되도록 해야한다. Idle -> Flip : IsOpen값이 True 일때 작동시킨다. Fip -> Idle : IsOpen 값이 False 일때 작동시킨다. 카드를 눌렀을 때 어떤 기능을 실행시키려면 버튼이 있어야 한다. 이제 코드에서 Set문을 통해 원하는 상황에 애니메이션을 실행시키면 된다.
④ 카드만들기 - 이미지 랜덤 로직 랜덤으로 섞기 전략 OrderBy 정렬한다다는 뜻이며 소괄호안에 조건이 들어간다. x => 배열을 순서대로 한번 씩 순회한다. Radom.Range에서 추출된 값을 기준으로 한다. ToArray() 자료형이 Array가 아니기 때문에 맞춰주기 위함이다. 이제 랜덤으로 섞이는 값을 각각의 카드에 넣어줘야 한다. Card를 위한 스크립트를 만들고 Add Component 랜덤으로 잘 배정이되는지 index를 확인하기 위해서 유니티에서 제공하는 기능을 이용해서 이미지를 넣어보자 단순 문자열로 하지 않기 위해서, 스트링값을 조작하기 위해서 앞에 $를 붙힌다.
③ 카드 만들기 - 배치하기 16장의 카드를 만들기 위해서 기존에 해왔던 복붙으로 오브젝트들을 깔아놓는 방식이 아닌, 수 천개의 카드를 작업할 수 있는 상황까지 대비하기 위해서 코드를 활용한 배치를 할 것이다. 사전 공부해 놓은 반복문 for를 활용해 보자 생성된 16개의 카드들을 Board 안으로 들어가게끔 수정 요망 4x4 형식으로 카드를 배치해야 한다.
② 기본 씬 구성 및 시간 시스템 Phone (760x1280) Layouts 2 by 3 One Column Layout 시간을 표시해줄 UI를 생성하고 폰트 및 8개의 이미지도 함께 준비하자 카드를 깔아줄 판을 만들기 위해 빈 오브젝트 생성 Board 안에 Card라는 빈 오브젝트 추가 생성 각각의 이미지들을 카드화 시켜야 한다. 우선은 녹법1 카드의 앞면과 뒷면을 만들어 보자 카드의 뒷 면에 물음표를 추가하자 프리팹 시키면 카드 한 장이 완성된다. 시간 시스템을 구축하기 위해서 게임매니저 오브젝트와 스크립트를 준비
① 이번 프로젝트에서 학습할 내용 1) 이번 프로젝트의 목표와 범위 2) 오늘 만들 것 : 카드 뒤집기 게임 위의 영상과 비슷하게 제작할 것 3) 순서 기본 씬 구성하기 : 배경, 타이머, 리소스 받아두기 시간 보내기 카드 깔기 카드 뒤집기 애니메이션 만들기 같은 카드를 뒤집었을 때 없애기
고양이 밥주기 게임 완성 Lv.4 부터 해적냥 등장
⑧ 레벨별 난이도 반영하기 레벨에 따른 게임 규칙 변경하기 뚱냥의 이속을 낮추고 포만감을 늘리자
⑦ 레벨업 표기하기 고양이 게이지가 다 찰 때마다 점수를 올려줘서 일정 점수에 도달하면 레벨이 올라가도록 설정 Canvas 오른쪽클릭 - Create Empty 경험치 바도 만들어 주자 레벨을 표시해주기 위한 텍스트 UI를 만들어놨으니 로직을 작성 레벨 값을 출력해줄 수 있는 텍스트를 끌어오자 경험치 바를 출력
⑦ 레벨업 표기하기 고양이 게이지가 다 찰 때마다 점수를 올려줘서 일정 점수에 도달하면 레벨이 올라가도록 설정 Canvas 오른쪽클릭 - Create Empty 경험치 바도 만들어 주자 레벨을 표시해주기 위한 텍스트 UI를 만들어놨으니 로직을 작성 레벨 값을 출력해줄 수 있는 텍스트를 끌어오자 경험치 바를 출력
⑥ 고양이 만들기 - 반복 생성 로직 게임의 진행을 도와주는 GameManager 생성 고양이가 생선가게에 도착했을 때 GameOver 하고 Retry 버튼이 나오도록 하자 기존에 만들어 놓은 오프닝에서 메인씬으로 전환이 가능하도록 한 StartButton 스크립트를 활용하면 편하다 정신이 없으므로 Replay 버튼이 나오면 게임을 정지하는 로직을 추가하자