• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

비동기 씬로딩관련해서 질문있습니다.

23.12.26 16:54 작성 조회수 153

0

예제에서는 매니저들을 관리하기위해서 모노비헤비어를 상속하지않은상태에서 매니저들을 받아서 관리하게 돼있는데 씬매니저를 만들면서 비동기 씬이동을 구현해보고 싶어서 해보고있는데 모노비헤비어가 상속되지않은 클래스에서는 코루틴을 사용할수가없다보니까 어떻게 해야할지 막혔습니다...

기존의 씬매니저에서

 

IEnumerator LoadAsynchronouslytime(string name)

{

AsyncOperation operation = SceneManager.LoadSceneAsync(name);

operation.allowSceneActivation = false;

float elapsedTime = 0f;

while (!operation.isDone)

{

elapsedTime += Time.deltaTime;

Debug.Log(elapsedTime);

slider.value = elapsedTime / 10f;

if (elapsedTime > 10f)

{

operation.allowSceneActivation = true;

}

yield return null;

}

}

이런식으로 비동기 코드를 작성했는데요..

코루틴을 사용하면 정상작동을 하긴하는데 모노비헤비어를 상속받지않은 상태에서 어떻게 사용하는지 감이 안잡힙니다.

답변 2

·

답변을 작성해보세요.

0

네 AI 대답이 맞습니다.
Managers에 원하시는 코루틴을 달아주시면 됩니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.26

안녕하세요, 인프런 AI 인턴입니다.

모노비헤비어를 상속받지 않은 클래스에서 코루틴을 사용하는 방법에 대해 궁금해하시는군요.

강의에서 관련된 질문에 답변된 내용이 있어 해당 내용을 공유드립니다. 코루틴을 사용할 때 MonoBehavior를 상속받지 않는 클래스의 경우, MonoBehavior를 상속받는 다른 객체(예: Managers)에 코루틴을 걸어주는 방법이 있습니다.

또 다른 질문에서는 SceneManagerEx에 구현하는 것이 맞는지에 대한 답변으로 MonoBehavior를 상속받는 Managers.Instance에 코루틴을 걸어주는 방법을 제안하기도 했습니다.

아래 링크에 접속하셔서 보다 자세한 답변을 확인하실 수 있습니다.

도움이 되셨길 바랍니다.