GameDevelop/Unity팀프로젝트

[TeamProject1_2025.04.08] 카드게임제작 - 카드뒤집기, 애니메이션 기능

도도돋치 2025. 4. 8. 21:17
Contents 접기
728x90

기능분담

팀원들의 사진을 바탕으로 한 캐릭터 매치를 하는 게임을 개발하기로 했다.

필수 구현 기능
  1. 카드 배치 ( 레벨 고려 ) + 사진
  2. 카드 눌렀을 때 처리 ( 애니메이션, 사운드 )
  3. 성공 & 실패 처리
  4. 스테이지 선택 구성(레벨)
  5. UI

원래는 필수구현 기능에서 아래와 같이 역할 분담을 했다.  

내가 맡은 역할은 카드 눌렀을 때의 사운드와 카드가 뒤집어지는것, 카드애니메이션 전반이었는데 뒤집어질때 나오는 사운드가 사운드 매니저 맡으신 분과 merge할때 충돌이 엄청 나서ㅜㅜ 결국 사운드 매니저 분께서 사운드를 총관할하시기로 합의 봤다🥲➡️이후에 충돌이 안나게 커밋 규칙을 정하고 Scene을 나누고나니 충돌이 안나서 내가 사운드를 총괄하게되었다. SoundManager를 만들면서 backgroundBGM, flipSuccessSound, flipFailSound를 관리하기로 했다.(2025.4.9수정)

와이어프레임 

먼저 어떻게 화면을 구성하면 좋을지 와이어 프레임을 생성하였다.

 

그리고 카드게임 매치에 사용될 카드들(심슨, 스머프, 일반)도 뽑았다ㅎㅎ(gpt결제유저님 감사합니다)

 

카드 뒤집기 애니메이션

  • rotation 0-> 3 -> 0 순서로 카드가 계속 좌우로 회전하는 애니메이션을 적용해주었다.(귀여움)
  • 카드를 눌렀을 때 크기가 선택된 카드의 크기가 잠깐 커지도록 설정하였다.
  • Card를 눌렀을 경우 CardFlip의 isOpen을 true로 만들어 뒤집어주었다.

 

Card Script

카드의 앞 뒤로 나누어 생성하고, 애니메이션을 불러와줄 변수를 선언하였다.

public Image frontImage;	//그림이 있는 카드면 
public Image backImage;		//뒤집기 전 카드면

public Animator anim;

그리고 함수 호출시에 카드를 여는 애니메이션을 불러와주도록 하였다.

public void OpenCard()
{
    anim.SetBool("isOpen", true);
    frontImage.gameObject.SetActive(true);
    backImage.gameObject.SetActive(false);
}

 

그리고 내 브랜치에 push한 후 카드가 매치되는지 확인하는 Matched함수를 호출하는 부분과 OpenCard 애니메이션을 합쳤다. 

728x90