2017-12-11 20 views
0

나는 최소 텍스트 어드벤처를 만들고 있고, 프로그램을 계속 진행하기 전에 몇 초 동안 텍스트를 표시하고 싶다. 기다리고있는 물건을 찾았지만, 내 코드에서 구현하지 못하는 것 같습니다. 화면에 텍스트를 유지하기 위해 프로그램을 지연시키는 것

void state_pad_1(){ 
    text.text = "You put the " + weight + "kg on pad 1.\n\n "; 
    if (weight ==weight1){  
     myState = States.room_2;} 
    else { 
    myState = States.room_1;  
    } 
} 

그래서 지연이 텍스트와 if 문 사이에 있어야한다 :

여기 내 코드입니다.

+0

유니티에서는 작동할지 모르지만 C#에서의 쉬운 대기는'System.Threading.Thread.Sleep (1000)'입니다. 1000은 밀리 초입니다. – Dumisani

답변

0

당신이 쉽게 예를 들어 Coroutines 으로 수행하려면이 같은 무언가로 당신의 방법을 변환해야합니다 :

IEnumerator state_pad_1() 
{ 
    text.text = "You put the " + weight + "kg on pad 1.\n\n "; 
    //enter number of seconds you want instead of 5 
    yield return new WaitForSeconds(5); 
    if (weight ==weight1){  
     myState = States.room_2;} 
    else { 
    myState = States.room_1;  
    } 
} 

그러나 예를 들어, 코 루틴은 다른 방식으로 호출 명심 :

StartCoroutine("WaitAndPrint"); 

System.Threading.Thread.Sleep(1000)을 사용하려고하면 다소 coroutines가 더 좋은 해결책이됩니다. freeze your app.