Odpowiedz na ten temat
Pokaż wyniki od 1 do 2 z 2

  1. Dołączył
    May 2007
    Skąd
    Białogard
    Postów
    297

    Cytuj | #1

    mam prostą pętle:

    Kod:
    		
     		label5:
    		if (ixy < ostatni) {
    			[NSThread sleepForTimeInterval:2];
    			[self nastepne:self];
    			goto label5;
    		}
    Kod:
    - (IBAction)nastepne:(id)sender
    {
    if (nastepny!=0)
    	{
    		if(losoj!=TRUE)
    		{goto label4;}
    		
    		if (ppress==FALSE) 
    		{
    			poprzedni=nastepny;				
    		}
    		ixy=nastepny;
    		nastepny=0;
    		if (npress==TRUE) 
    		{goto label2;}
    	}
    	else{
    		nastepny=0;
    	label2:
    		if (losoj==TRUE) {
    			poprzedni=ixy;
    			ixy=rand() % (ostatni+1);
    			nastepny=ixy;
    		}
    		else {
    			label4:
    			
    			poprzedni=0;
    			if(ixy!=ostatni)
    			{
    				ixy=ixy+1;
    			}
    			
    		}
    	}
    	ppress = FALSE;
    	npress = TRUE;
    		switch (jezyk) {
    		case 1:
    			[self angielski:(NSMenuItem *)sender];
    			break;
    		case 2:
    			[self aramejski:(NSMenuItem *)sender];
    			break;
    		case 3:
    			[self polski:(NSMenuItem *)sender];
    			break;
    
    	}
    	[self zmienobrazek:self];
    }
    
    - (void)zmienobrazek:(id)sender
    {
    
    	switch (ixy) {
    		case 1:
    			obrazek.image = [NSImage imageNamed:@"1.jpg"];
    			break;
    		case 2:
    			obrazek.image = [NSImage imageNamed:@"2.jpg"];
    			break;
    		case 3:
    			obrazek.image = [NSImage imageNamed:@"3.jpg"];
    			break;
    		case 4:
    			obrazek.image = [NSImage imageNamed:@"4.jpg"];
    			break;
            }
    }
    
    - (IBAction)angielski:(NSMenuItem *)sender
    {
    	
    	[wymowa setStringValue:@" "];
    	
    	switch (ixy) {
    		case 1:
    			[tlumaczenie setStringValue:@"elephant"];
    			break;
    		case 2:
    			[tlumaczenie setStringValue:@"wolf"];
    			break;
    		case 3:
    			[tlumaczenie setStringValue:@"fish"];
    			break;
    		case 4:
    			[tlumaczenie setStringValue:@"lion"];
    			break;
    
    	}
    	if(mowa==TRUE)
    	{
    		[[replacer_a]
    
    jednak dość dziwnie się wszystko wykonuje. Jedną operacje wykonuje normalnie natomiast jeśli ma kilka razy powtórzyć to już gorzej…
    Powinien zmienić obrazek i rysunek, następnie przeczytać tekst z pola tekstowego po zmianie.
    Problem jest w tym że z tych wszystkich czynności to jedyne co to czyta napis po zmienie jednak nic nie wyświetla, robi to owszem ale dopiero jak jest ostatnie słowo...
    Ostatnio edytowane przez Scypin ; 08.04.2010 o 22:41
    Komputer: Macbook 13" 2,1 ghz X3100 snow leopard
    Odtwarzacz: iPod Classic



  2. Dołączył
    May 2007
    Skąd
    Białogard
    Postów
    297

    Cytuj | #2

    ok już działa jak chciałem
    trzeba było użyć NSTimer
    Kod:
    - (IBAction)autoPlay:(id)sender
    {
    	if (ixy==ostatni) {
    		[play setState:NO];
    		odtwarzanie=FALSE;
    	}
    	
    	if (odtwarzanie==FALSE) {
    		odtwarzanie=TRUE;
    		Time=ixy;
    		Timer=[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(activity:) userInfo:AnimationInfo repeats:YES];
    
    	}
    	else{
    		[self Pause:self];
    	}
    	}
    
    - (void)activity:(NSTimer *)Timer
    			{
    				Time =Time + 1;
    				ixy = Time;
    				if (ixy == ostatni) {
    					[self Pause:self];
    				}
    				[self wyborJezyka:self];
    				
    			}
    
    - (IBAction)Pause:(id)sender
    {
    
    	[Timer invalidate];
    	
    	[play setState:NO];
    	odtwarzanie=FALSE;
    	
    }
    i zmieniłem troche polecenie nastepny dodalem
    Kod:
    if (odtwarzanie==TRUE) {
    	[self Pause:self];
    }
    i skopiowałem tą funkcje usuwając tą kontrole ixy więc jeszcze kilka poprawek kontrolnych i wszystko będzie ok.
    Komputer: Macbook 13" 2,1 ghz X3100 snow leopard
    Odtwarzacz: iPod Classic

Odpowiedz na ten temat