SceneManager.LoadScene 으로 씬을 로드하게 되면 ,
현재 씬의 모든 오브젝트와 변수들은 기본적으로 메모리에서 사라지고
초기화가 된다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManager;
public class GameManager : MonoBehaviour
{
float a = 1;
void Start()
{
a = 10;
SceneManager.LoadScene("SampleScene"); // a = 1로 초기화 됨
}
}
따라서 게임 내에서 최고기록을 사용할 때,
LoadScene을 거친다면,
float bestScore; 변수를 활용해 저장할 게 아니라,
PlayerPrefs를 활용해 사용해야 한다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManager;
public class GameManager : MonoBehaviour
{
void Start()
{
PlayerPrefs.SetInt("BestScore", 100);
SceneManager.LoadScene("SampleScene");
// 로드 씬을 거쳐도 "BestScore"의 메모리에 있는 값은 그대로 남아있음
}
}
'유니티' 카테고리의 다른 글
[유니티] 2단 점프 코드 (2) | 2024.12.27 |
---|---|
[유니티] RayCastHit, Physics2D.Raycast 요약정리 (1) | 2024.12.27 |
[유니티] Unity로 만들어진 게임, 프로젝트, 서비스 조사하기 (0) | 2024.12.26 |
[유니티] Collision VS Collider 차이 (1) | 2024.12.25 |
[유니티] 벽에 달라붙는 문제 해결 2D (0) | 2024.12.24 |