2012-04-17 1 views
0

나는 Unity에서 게임을 만들고 있습니다. 현재 두 가지 수준이 있습니다. 시간이 0이 될 때까지 30 초로 계산됩니다. 다음 레벨을 자동으로로드하려고합니다. 그러나 다음 단계가로드되면 게임 화면이 정지되고 아무 것도 움직일 수 없습니다. 나는 다음 단계를로드하는 데 사용되는 기능 (이 기능은 새로운 수준을로드 할 때 파괴되지 않습니다 빈 게임 객체가 전달하는 스크립트에) 아래에 다음과다음 레벨로드 중

function loadNextlvl(){ 
     var cur_level = Application.loadedLevel; 
     yield WaitForSeconds(5.0); 
     Application.LoadLevel(cur_level + 1); 
    } 

어떻게해야합니까?
미리 감사드립니다.

+1

유니티 태그는 Microsoft Unity 용입니다. 오용하지 마십시오. –

답변

0

Unity와의 나의 작업은 취미에 의해서만 이루어졌지만, Application.LoadLevel을 사용할 때마다 나는 포인터가 아닌 레벨 이름의 문자열을 전달했습니다. API에서도 int를 가져 오려면 오버로드되지만 테스트 목적으로는 이름으로 호출하여 작동하는지 확인합니다.

또한 Unity에 사용하려는 레벨을 알려줘야합니다. 파일 메뉴의 빌드 설정에서이 작업을 수행 할 수 있습니다.

마지막으로 Application.levelCount을 사용해 레벨 범위 내에 있는지 확인할 수 있습니다.

+0

또한 빌드 설정을 정렬했지만 문제는 그렇게 생각하지 않습니다. 동일한 스크립트에서이 함수를 사용하고 있습니다. function Awake() { DontDestroyOnLoad (gameObject); } 이 문제가 발생합니까? – Predoryx

+0

고마워, 나는 내 문제를 해결했다. 나는 같은 게임 오브젝트를 다른 장면으로 복사했고, 다음 레벨을 올바르게로드했다. – Predoryx

관련 문제