와챠의 우당탕탕 코딩 일기장
[Unity] 게임 재시작 & 사운드 추가 본문
반응형
목차
1, Retry 버튼 클릭 시 게임 재시작하도록 하기
2, 사운드 추가
1, Retry 버튼 클릭 시 게임 재시작하도록 하기
1-1, GameResult.cs 스크립트 수정(버큰 클릭 시 호출되는 함수 OnRetry() 생성)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
// 게임 종료 후 UI들 보이게 하기
// 지금까지의 결과 출력
public class GameResult : MonoBehaviour
{
public GameObject resultUI;
public Text resultTime; // 게임 종료에 걸린 시간 텍스트
public Text baseTime; // 최고 기록 텍스트
private int highScore; // 최고 기록 변수
// 게임 시작 시 최고 기록 초기화
void Start()
{
// 저장된 최고 기록이 있다면
if (PlayerPrefs.HasKey("HighScore"))
{
// 최고 기록을 저장된 값으로 초기화
highScore = PlayerPrefs.GetInt("HighScore");
}
// 없으면 999로 하기
else
{
highScore = 999;
}
}
// 게임이 종료됐는지 매 프레임마다 확인
void Update()
{
// 게임이 종료됐으면
if (Goal.goal == true)
{
// Result 안의 UI들 보이게 하기
resultUI.SetActive(true);
// 경과 시간 보이기
// 정수로 변경
int result = Mathf.FloorToInt(Timer.time);
resultTime.text = "Result Time : " + result;
// 최고 기록 보이기
baseTime.text = "Base Time : " + highScore;
// 현재 기록이 이전 최고 기록보다 더 짧다면 최고 기록 변경
if (highScore > result)
{
PlayerPrefs.SetInt("HighScore", result);
}
}
}
// Retry 버튼 클릭 시 호출
public void OnRetry()
{
// 현재 씬 다시 불러오기
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}
}
1-2, 스크립트 연결
2, 사운드 추가
2-1, 에셋 스토어에서 "Action RPG Music Free" 검색
> 내 에셋 추가
> 유니티에서 열기
> 패키지 매니저에서 다운로드 클릭
> import
2-2, Stage > Goal > Audio Source 컴포넌트 추가
2-3, 무한 재생 설정 -> Loop 체크
2-4, Goal에 가까이 갈 수록 음악 크게 설정 -> Spatial Blend를 1로 설정
반응형
'코딩 일기장 > Unity' 카테고리의 다른 글
[Unity] 게임 규칙 만들기 (0) | 2021.10.31 |
---|---|
[Unity] 3D 장애물 런게임 만들기(c# 스트립트 없이) (0) | 2021.10.24 |
[유니티] 스파르타 코딩 : 게임 개발 - 5주차(마지막) (0) | 2021.06.23 |
[유니티] 스파르타 코딩 : 게임 개발 - 4주차 (0) | 2021.06.21 |
[유니티] 스파르타 코딩 : 게임 개발 - 3주차 (0) | 2021.06.19 |
Comments