728x90
반응형
- 주제
>> 이펙트 효과를 극대화하기
(코드 위치를 변경하여, 매칭 성공 카드 제거 직후 이펙트 실행)
- 게임화면(전, 후)
- 코드 수정
1. 이전 코드
>>카드 매칭에 성공한 때, 이펙트 활성화
>>1초 후 카드 파괴
GameManager.cs
public GameObject firstTracker; // 매칭된 카드 중 첫번째 카드 위에 생성될 이펙트
public GameObject secondTracker;
public void Matched()
{
if (firstCard.idx == secondCard.idx)
{
firstCard.DestroyCard();
secondCard.DestroyCard();
firstTracker.SetActive(true); //성공 이펙트 활성화
secondTracker.SetActive(true); //성공 이펙트 활성화
}
Card.cs
public void DestroyCard()
{
Invoke("DestroyCardInvoke",1.0f); //1초후 실행
}
void DestroyCardInvoke()
{
Destroy(gameObject);
GameManager.instance.Sname_Text.gameObject.SetActive(false);
}
2. 수정 코드
>>GameManager.cs에서 Card.cs로 이펙트 변수를 받아와서, 카드가 파괴될 때 이펙트 활성화
>>0.5초 후 카드 파괴
(카드파괴와 이펙트 실행 타이밍을 맞추기 위해서, 파괴 대기시간을 줄임- 이펙트 자체 스피드를 고려)
GameManager.cs
public GameObject firstTracker; // 매칭된 카드 중 첫번째 카드 위에 생성될 이펙트
public GameObject secondTracker;
public void Matched()
{
if (firstCard.idx == secondCard.idx)
{
firstCard.DestroyCard();
secondCard.DestroyCard();
}
Card.cs
public void DestroyCard()
{
Invoke("DestroyCardInvoke",0.5f); //0.5초후 실행
}
void DestroyCardInvoke()
{
Destroy(gameObject);
GameManager.instance.Sname_Text.gameObject.SetActive(false);
GameManager.instance.firstTracker.SetActive(true); //성공 이펙트 활성화
GameManager.instance.secondTracker.SetActive(true); //성공 이펙트 활성화
}
728x90
반응형
'🌐 유니티 (Unity)' 카테고리의 다른 글
Day 8 - C# 문법(조건문, 반복문, 배열, 딕셔너리, 메서드, 오버로딩, 구조체) (0) | 2024.04.23 |
---|---|
Day 7 - C# 문법(WriteLine, 이스케이프 시퀀스, 자료형, 변수, 연산자 등) (3) | 2024.04.22 |
Day 5 - 부정 방지 기능(Invoke & null 활용) 및 발표 피드백 정리 (3) | 2024.04.19 |
Day 4 - 게임 이펙트 추가(SetActive 활용), float -> int (3) | 2024.04.18 |
Day 3 - 카드 색상 3단계로 변경(매개변수&리스트 활용) (0) | 2024.04.17 |