2016-09-30 1 views
1

그래서 화합 프로젝트를 진행하고 있으며 초당 33 회 또는 0.02 초마다 호출 할 필요가없는 함수를 사용하고 있습니다. GUI 렌더링 빈도를 잘 모르겠습니다. 앞서 말한 것과 같은 방법이 있나요? 어쩌면 초당 네 번입니까?Unity에서 Update /() 또는 OnGUI()가 수정되지 않은 일관된 방법이 있습니까?

만약 그렇지 않다면, 나는 하나 만들어야 할 것입니다.

+1

사이드 바 : OnGui는 새로운 메뉴 인 ingame 메뉴 등으로 사용하지 않아야합니다. OnGui는 주로 사용자 정의 편집기 용입니다. –

+0

@GunnarB. 알았어, 고마워. –

+0

@GunnarB. 무엇을 사용해야합니까? 5시에 파티에 좀 늦었 어. –

답변

1

초당 X 번 실행해야하는 메서드를 만들고 InvokeRepeating을 사용하여 호출 할 수 있습니다. 이 같은 뭔가 :

InvokeRepeating("methodName", 0.0, 1.0/X); 

당신은 Start() 기능이 하나를 호출 할 수있다.

//Example (executing "methodName" 4 times per second). 
void Start(){ 
    InvokeRepeating("methodName", 0.0, 0.25f); 
} 
+0

C#에 넣어 주시면 JS illiterate atm입니다. –

+0

감사합니다. –

+2

안녕하세요. Thomas, C#에 이미 있습니다. 시작에 동봉하고 필요에 따라 매개 변수를 변경하십시오. 나는 대답을 업데이트한다. –

0

이 경우에 당신이 corrutine


를 사용할 수있는이 방법은 당신에게

void Start(){ 

    StartCoroutine(yourMethod()); 
} 

IEnumerator yourMethod() 
{ 
    while(true){ 
    // do something every 4 seconds 
    yield return new WaitForSeconds(4); 
    } 
} 

중요한

  • 모든 방법을 도울 수 당신은 IEnumerator로 만들어야 Coroutine() 내부에서 호출되어야한다.
  • yield return new WaitForSeconds (4)이 메서드를 4 초 동안 대기시킵니다.
+0

나는 두 가지 모두를 시도 할 것이다, 고마워. –

관련 문제