OnLevelWasLoaded 를 가지고 사용하는 코드가 있는데요.
어느날 갑자기 deprecated 경고가 뜨는군요..
deprecated 경고는 해당 함수등이 사라지기 전에 코드 사용자에게 경고를 주기 위해서 미리 알려주는 경고입니다. 언제가 될지는 모르겠지만 사라질 운명이 된거죠..
위 캡쳐 파일이 console에서 친절하게 없어질 기능이니 지워버려~ 라고 알려주는 화면입니다.
저는 이 기능을 지울 수 없기 때문에 수정을 하기로 했습니다..
먼저 수정 방법을 설명하기 전에 OnLevelWasLoaded가 하는 역할을 알려드리죠..
OnLevelWasLoaded 이벤트 함수는 씬이 변경되면 호출되는 함수입니다. 최초에는 호출이 안되고요.. 다른 씬으로 전환 시 호출된답니다. 보통 이 함수를 사용하는 곳은 싱글턴으로 사용하는 객체를 쓸 경우죠.
GameObejct 를 static 으로 로드하고 죽지 않도록 해서 어느 씬에서나 사용할 경우 해당 기능이 필요할 때가 있을 수 있겠죠??
위와 같이 OnLevelWasLoaded 이벤트 함수를 사용하시는 분은 밑의 코드로 대체해서 사용하시면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | void OnEnable() { SceneManager.sceneLoaded += OnLevelFinishedLoading; } void OnDisable() { SceneManager.sceneLoaded -= OnLevelFinishedLoading; } void OnLevelFinishedLoading(Scene scene, LoadSceneMode mode) { // 코드작성 } | cs |
sceneLoaded 이벤트 함수를 직접 정의하는거죠..
※ 새로운 방법
- 제공 : 지나가는행인(댓글)님의 도움으로 링크 첨부드립니다.
https://answers.unity.com/questions/1174255/since-onlevelwasloaded-is-deprecated-in-540b15-wha.html
참고하세요~
댓글 없음:
댓글 쓰기