📝23.12.27
오늘은 개발 관련해서 배운 것보다, 팀 프로젝트 완성 및 발표 영상 제작에 더 공을 들여서 길게 쓸 이야기가 없다. 애니메이션을 다듬고, 오류를 수정하는 일을 조금 진행하였다.
그 중 하나 수정한 부분이 이 부분이다.
public void openCard()
{
// 카드가 2장 뒤집혀 있는 동안 다른 카드들 클릭 막기
if (GameManager.I.cardCounter > 1) return;
if (GameManager.I.firstCard == null)
{
openEffect();
GameManager.I.firstCard = gameObject;
// 첫 번째 카드가 뒤집힌 시간 저장하기
check_time = GameManager.I.gameTime;
} else
{
// 첫번째카드오브젝트가 다를때만
if(GameManager.I.firstCard != gameObject)
{
openEffect();
GameManager.I.secondCard = gameObject;
GameManager.I.isMatched();
}
}
}
private void openEffect()
{
GameManager.I.cardCounter++; // cardCounter : 현재 게임에 뒤집혀 있는 카드 개수 카운트
audioSource.PlayOneShot(flip);
anim.SetBool("isOpen", true);
Invoke("openCardInvoke", 0.2f); // 0.2�� �� ����
}
기존에는 두번째 카드가 첫번째 카드와 같을 때를 상정하지 않은 코드였어서, 카드를 빠르게 더블클릭하면 매칭 처리되는 오류가 있었다. 그래서 이를 방지하기 위해 첫번째 오픈 카드가 현재 카드와 같을 시에는 두번째 카드가 될 수 없다는 분기점을 나누어주었다.
처음에는 분기점만 나누어 주었더니, 카드는 뒤집히지 않는데 카드가 두번 열리는 소리는 나는 오류가 났었다. 그 이유를 찾아보니 상황에 상관없이 audioSource.PlayOneShot()과 다른 카드 오픈 이펙트가 if문 안에 있지 않고 그 밖에 존재했기 때문이었다.
따라서 이를 if문 안에 넣기 위하여 openEffect() 함수로 효과들만 분리하여 적용하였고, 성공적으로 동일한 카드가 매칭 되는 오류를 해결할 수 있었다.
이외에 개발 관련해서 쓸 것은 없고 완성된 프로젝트 깃 링크와 발표 영상을 첨부하겠다.
🔗 깃허브 : https://github.com/PHT97/TeamFilp
🔗 발표 영상