Awake() 정의와 DontDestroyOnLoad() 사용법
Awake() 정의
Awake는 게임이 시작되기 전에, 모든 변수와 게임의 상태를 초기화하기 위해서 호출되며 스크립트 인스턴스가 종료될 때까지 한번만 호출됩니다.
Awake는 모든 오브젝트가 초기화되고 호출되기 때문에, GameObject.FindWithTag를 이용해서 해당 게임 오브젝트를 요청하거나, 다른 오브젝트와 안전하게 연동해서 사용할 수 있습니다.
DontDestroyOnLoad() 사용법
- 새로운 Scene이 로드될때 자동으로 파괴되지 않는
target
오브젝트를 만듭니다.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void Awake() { DontDestroyOnLoad(transform.gameObject); } }
이런식으로 지정된 이전 오브젝트가 그대로 살아서 다음 씬으로 넘어갑니다.
대신 지워지지않아 직접 지워줘야 합니다.
그런 경우 간단히 조건 제시후 Destroy 메소드를 이용해 삭제 합니다.
예) M키를 누를시 조건
if (Input.GetKeyDown(KeyCode.M))
{
Destroy(gameObject);
}
'유니티(unity)' 카테고리의 다른 글
유니티(unity) 카메라를 이용한 거울반사(Mirror reflection) 효과 적용 (0) | 2017.12.07 |
---|---|
유니티(unity) 게임오브젝트(GameObject)와 컴포넌트(Component) 관계 및 사용법 (0) | 2017.12.07 |
유니티(unity) Time.time.ToString 소수점 조절하기 (2) | 2017.12.05 |
유니티(unity) Update, FixedUpdate, LateUpdate 차이점 (0) | 2017.12.04 |
유니티(unity) 간단한 Ray 사용법 (0) | 2017.12.03 |