성공 또는 실패 이미지를 출력하고 띄울 이미지를 원하는 시간 뒤에 나오도록 만들어보자.
failure를 복붙한 뒤 rabbit으로 이름과 이미지를 변경해준다. 원하는 크기와 위치를 조정해주고 체크를 해제해 비활성화 해준다.
딜레이를 주는 방법으로 Invoke함수를 사용하였다. 원하는 함수를 원하는 시간 뒤에 실행하도록 하는 함수이다. Invoke("함수이름", 초시간) 과 같이 작성해준다.
EventManager 스크립트의 코드를 아래와 같이 작성해준다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EventManager : MonoBehaviour
{
private int randomNum;
public GameObject Success; //성공 이미지
public GameObject Failure; //실패 이미지
public GameObject Rabbit; //토끼 이미지
private bool success_state; //성공이미지 활성화.비활성화 설정
private bool failure_state; //실패이미지 활성화.비활성화 설정
private bool rabbit_state; //토끼이미지 활성화.비활성화 설정
//랜덤 숫자 생성
void Start()
{
randomNum = Random.Range(0, 12);
Debug.Log(randomNum);
//성공.실패 이미지 비활성화
success_state = false;
failure_state = false;
//토끼 이미지 활성화
rabbit_state = true;
Success.SetActive(success_state);
Failure.SetActive(failure_state);
Rabbit.SetActive(rabbit_state);
}
//짝수 버튼 클릭 시
public void EvenButtonClick()
{
if (randomNum % 2 == 0)
{
success_state = true;
failure_state = false;
}
else
{
success_state = false;
failure_state = true;
}
//성공.실패 이미지 출력
rabbit_state = false;
Rabbit.SetActive(rabbit_state);
Success.SetActive(success_state);
Failure.SetActive(failure_state);
//콘솔 결과 확인
Debug.Log("success_state: " + success_state + " / failure_state: " + failure_state);
//랜덤 숫자 재생성 및 토끼 이미지 출력
Invoke("Start", 3);
}
//홀수 버튼 클릭 시
public void OddButtonClick()
{
if (randomNum % 2 != 0)
{
success_state = true;
failure_state = false;
}
else
{
success_state = false;
failure_state = true;
}
//성공.실패 이미지 출력
rabbit_state = false;
Rabbit.SetActive(rabbit_state);
Success.SetActive(success_state);
Failure.SetActive(failure_state);
//콘솔 결과 확인
Debug.Log("success_state: " + success_state + " / failure_state: " + failure_state);
//랜덤 숫자 재생성 및 토끼 이미지 출력
Invoke("Start", 3);
}
}
-- 코드 설명 --
게임 시작할 때 토끼가 이미지를 출력되도록 true 값으로 활성화를 시킨다. 그리고 랜덤 숫자에 맞게 버튼을 클릭하면 클릭한 버튼 결과에 따라 성공/실패 이미지를 출력하고 3초 뒤 랜덤 숫자 재생성, 성공/실패 이미지 비활성화, 토끼이미지 출력을 하는 Start 함수를 실행시킨다.
그리고 EventSystem의 인스펙터의 Rabbit에 하이어라키에 있는 rabbit을 드래그 해주면 완성이다.
'🎮 Unity' 카테고리의 다른 글
[UNITY] 아이템 랜덤 출력 (배열) (0) | 2023.03.19 |
---|---|
[UNITY] 프리팹(Prefab) 생성 (0) | 2023.03.05 |
[UNITY] 랜덤 숫자 출력 / 버튼 이벤트 설정하기 / 성공.실패 이미지 띄우기 (0) | 2023.02.27 |
[UNITY] 슬라이더 디자인/볼륨 조절 (0) | 2023.02.15 |
[UNITY] 팝업창 생성하기 (0) | 2023.02.14 |