[TIL] 4일차 - 프로젝트 완성

김유원·2023년 12월 27일
0

📝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
🔗 발표 영상

profile
개발 공부 블로그

0개의 댓글

관련 채용 정보