2012-09-24 4 views
2

WP7 앱에 플레이어가 선을 그리고 CPU가 선을 그립니다. CPU를 5 초 동안 기다렸다가 처리하고 그리기를 원합니다. 플레이어가 그림을 그은 직후에 이것을 System.Threading.Thread.Sleep(5000);으로 사용합니다. 그러나 플레이어의 라인이 완전히 그려지지 않고 시스템이 수면 상태로 들어가고 5 초 후에 두 라인이 그려집니다. 어떻게 플레이어의 라인을 완료하고 지연을 시작하려면?프로그램에 지연 추가 C#

+5

수면 대신 타이머를 사용하십시오. –

답변

3

System.Threading.Thread.Sleep (5000)은 앱과 UI를 고정시킵니다. 귀하의 앱은 반드시 인증을 통과하지 못합니다.

DispatcherTimer를 사용하십시오. 자세한 내용은 link을 따르십시오.

+0

고마워요. 많은 도움이되었습니다. –

-2

함께 시도해보십시오. Application.DoEvents(); 자기 전에.

0

DispatcherTimer를 사용하여 플레이어가 턴을 한 직후에 지연을 추가 할 수 있습니다.

당신이 무엇을 할 수 있는지 일반적으로 :

클래스 변수 : 당신의 생성자에서

DispatcherTimer delayTimer = new DispatcherTimer(); 
int timesTicked = 0; 

:

delayTimer.Interval = new TimeSpan(0, 0, 0, 0, 5000); 
delayTimer.Tick += new EventHandler(timer_Tick); 

처리기 :

void delayTimer_Tick(object sender, EventArgs e)  
{ 
    timesTicked++; 
    if(timesTicked == 2) 
    { 
     timesTicked = 0; 
     delayTimer.Stop(); 
     RunCPU(); 
    } 
} 

위의 트랙 양 Timer가 두 번 틱한 후 RunCPU 메서드를 호출합니다. 위의 내용은 10 초입니다. 지연에 대한 틈새를 찾기 위해 숫자를 가지고 놀 수 있습니다.