Object.DontDestroyOnLoad

새로운 레벨이 로드 될 때 이전 레벨의 오브젝트가 삭제되지 않기를 바라면, 희망하는 오브젝트에 DontDestroyOnLoad()함수를 사용하면 됩니다...

ex)

using UnityEngine;
using System.Collections; 

 

public class example : MonoBehaviour { 

void Awake() { 

DontDestroyOnLoad(transform.gameObject); 

} 

}  

 

 

!! 혹시 DontDestroyOnLoad 한것은 따로 지워주도록 해야하는건가요?? 

 

네 맞습니다. 해당 오브젝트는 Scene을 전환해도 사라지지 않기 때문에, 필요한경우 지우고 다시 생성하는등의 처리를 해주셔야 합니다. 

간단히 하이어라키 창에서 실행해보시면, Scene 전환시에 계속 남아서, 만약 반복되면, 계속 쌓이는 것을 볼수 있습니다. 

 

편하게 처리하려면, 첫번째 씬에 이런것들을 모아놓으시고, 실제 메인 프레임윅은 두번째 신부터만 반복 실행하도록 하고, 첫번째 신으로 

는 돌아기자 않으면 쌓이지 않습니다.(loading 장면에 다넣어두면 될듯.....) 

 

출처 : http://blog.naver.com/mrshin2000?Redirect=Log&logNo=130140496212

'Programing > 유니티' 카테고리의 다른 글

이클립스에서 jar파일 뽑아내기  (0) 2013.07.24
테스트용  (0) 2013.05.31
플랫폼 별 경로  (0) 2013.05.28
DontDestroyOnLoad  (0) 2013.05.23
유니티에서 안드로이드 버전 빌드하기  (0) 2013.05.14
DontDestroyOnLoad()  (1) 2013.05.14
Posted by 부우산사나이

댓글을 달아 주세요

  1. 스타키 2014.12.11 01:23 Address Modify/Delete Reply

    좋은 정보 감사합니다.