로딩 페이지 구현? 에 고생해서 정식으로 유니티스터디를 통해서 올립니다.
AsyncOperation.progress라는 놈이 pc에서는 제대로된 값을 얻을 수 없어서 삽질을 많이 하셨습니다 ㅠㅠ
using UnityEngine;
using System.Collections;
using System.Collections;
public class EnterLoadPage : MonoBehaviour {
public UISlider Script;
public UISlider ScriptPercent;
public UILabel textScript;
AsyncOperation async;
bool IsLoadGame = false;
public IEnumerator StartLoad( string strSceneName )
{
if (IsLoadGame == false)
{
IsLoadGame = true;
AsyncOperation async = Application.LoadLevelAsync ( strSceneName );
while(async.isDone == false)
{
float p = async.progress *100f;
int pRounded = Mathf.RoundToInt(p);
textScript.text = pRounded.ToString();
public UISlider Script;
public UISlider ScriptPercent;
public UILabel textScript;
AsyncOperation async;
bool IsLoadGame = false;
public IEnumerator StartLoad( string strSceneName )
{
if (IsLoadGame == false)
{
IsLoadGame = true;
AsyncOperation async = Application.LoadLevelAsync ( strSceneName );
while(async.isDone == false)
{
float p = async.progress *100f;
int pRounded = Mathf.RoundToInt(p);
textScript.text = pRounded.ToString();
//progress 변수로 0.0f ~ 1.0f로 넘어 오기에 이용하면 됩니다.
ScriptPercent.sliderValue = async.progress;
yield return true;
}
}
}
void Start()
{
StartCoroutine( "StartLoad", "SceneGame" );
}
float fTime = 0.0f;
ScriptPercent.sliderValue = async.progress;
yield return true;
}
}
}
void Start()
{
StartCoroutine( "StartLoad", "SceneGame" );
}
float fTime = 0.0f;
//로딩 페이지에서 연속으로 애니메이션 만들때 Update 함수 내에서 만들면 됩니다.
void Update () {
fTime += Time.deltaTime;
if( fTime >= 1.0f )
{
fTime = 0.0f;
}
Script.sliderValue = fTime;
}
}
void Update () {
fTime += Time.deltaTime;
if( fTime >= 1.0f )
{
fTime = 0.0f;
}
Script.sliderValue = fTime;
}
}
사용법은
Scene과 로딩 부하가 심한 Scene 사이에 해당 ScenePage를 추가 하여 사용하시면 됩니다.
ex)
SceneMenu -> SceneLoadingPage -> SceneGame
읽어 주셔서 감사합니다.
'TA > Unity' 카테고리의 다른 글
유니티 NGUI 논리 해상도와 픽셀 퍼펙트 (0) | 2013.09.11 |
---|---|
unity 에디터 확장 (2) | 2013.09.11 |
효과적인 C# 메모리 관리 기법 (1) | 2013.09.09 |
[link] C#, Unity3D Optimization for Mobiles (0) | 2013.09.09 |
unity 그래픽 성능 최적화 (0) | 2013.09.09 |