TIL - 23.12.22

Amberjack·2023년 12월 22일
0

TIL

목록 보기
3/83

🎉 Github 강의 내용!

https://velog.io/@amberjack/Github-강의-내용

🤔 궁금했던 것!

Prefabs에 달린 C# Script는 각각의 Object를 담당할까 아니면 모든 Prefabs를 담당할까?
코드를 작성해본 결과 : 각각의 Object를 담당!

✨ 오늘 해결한 문제점!

문제점 : 카드 뒤집어서 짝 맞추는 게임을 진행하던 도중, 카드를 한번에 2장 이상 뒤집을 수 있음을 확인.

튜터님과 얘기해본 결과 cardCounter를 사용하여 2장 뒤집힌 경우, openCard() 함수의 최상단에서 return을 하라고 알려주심.

public void openCard()
{
	if(cardCounter > 1) return;
    ...
}

그러나 문제는 해결이 되지 않았다. 고민해본 결과, card prefab에 달린 C# Script는 각각의 prefab만 담당했기 때문에 cardCounter가 각각의 card에 달린 것이었다.

때문에 gameManager.cs에 cardCounter를 만들고 card.cs에서 불러오는 것으로 해결했다.

// 카드 뒤집기
public void openCard()
{
	// 카드가 2장 뒤집혀 있는 동안 다른 카드들 클릭 막기
	if (gameManager.I.cardCounter > 1) return;

	//cardCounter : 현재 게임에 뒤집혀 있는 카드 개수
	gameManager.I.cardCounter++;

	// 카드 뒤집는 효과음 재생
	audioSource.PlayOneShot(card_flip);

	// 카드 뒤집는 애니메이션 활성화
	anim.SetBool("isOpen", true);

	// 카드 뒤집기
	transform.Find("front").gameObject.SetActive(true);
	transform.Find("back").gameObject.SetActive(false);

	if(gameManager.I.firstCard == null)
	{
		// firstCard가 null이면 firstCard로 넣어버리기
		gameManager.I.firstCard = gameObject;

		timeSpan = gameManager.I.time;
	}
	else
	{
		gameManager.I.secondCard= gameObject;
		gameManager.I.isMatched();
	}
}

😱 .gitignore 세팅하기

팀원들과 코드를 합치기 위해 github를 사용했다. 그러나 정말 많은 문제가 터졌는데, 튜터님께 물어보니 .gitignore 세팅을 잘못했다고 하셨다.
👉 반드시 프로젝트의 상위 폴더로 Repository를 설정할 것!

0개의 댓글