2011-03-03 21 views
0


私はiPad用のマッチングプログラムで作業しています。ユーザーがボタンを選択すると、画像が「発見」され、ユーザーが2番目のボタンを選択すると、プログラムで一致をチェックし、そうでなければ、両方のボタンイメージを元の状態に戻します。ボタンを強制的に画像に交換する

これは、一致が成立しない場合を除き、正常に機能しています。切り替えが速く行われ、「発見された」ものを見る時間がありません。私はそれを眠らせようとしましたが、イメージはまだ覆われた状態に交換されません...思考?

//Take action on the tap of one of the buttons 
if(isFirstSelection) 
{ 
    firstSelection = [(UIButton *)sender tag]; 
    tempImageItem = [tileArray objectAtIndex:firstSelection]; 
    tempImage = [tempImageItem tileImage]; 
    firstSelectionName = [[NSString alloc] initWithString:[tempImageItem tileName]]; 
    [(UIButton *)sender setImage:tempImage forState:UIControlStateNormal]; 
    tempButton = sender; 
    isFirstSelection = NO;  
}else{ 
    secondSelection = [(UIButton *)sender tag]; 
    tempImageItem = [tileArray objectAtIndex:secondSelection]; 
    tempImage = [tempImageItem tileImage]; 
    secondSelectionName = [[NSString alloc] initWithString:[tempImageItem tileName]]; 
    [(UIButton *)sender setImage:tempImage forState:UIControlStateNormal]; 

    //Two game pieces have been removed so check to see if they are a match 
    if([firstSelectionName isEqualToString:secondSelectionName]) 
    { 
     //Match found 
     //do something 

    }else{ 
     **//NO MATCH FOUND 
     [NSThread sleepForTimeInterval:3]; 
     //Display the checker board pieces again 
     [(UIButton *)sender setImage:[UIImage imageNamed:@"originalImage"] forState:UIControlStateNormal];** 

    } 
    //Reset isFirstSelection Flag to YES for next selection 
    isFirstSelection = YES;   
} 

答えて

0

私は、ユーザーが何が起こったかを見るために時間を持っているので、3秒後に、ボタンの元の画像を載せていきたいと思います理解して何から次のように

このためのコードです。 あなたは今からそのコードを3秒で

[(UIButton *)sender setImage:[UIImage imageNamed:@"originalImage"] forState:UIControlStateNormal]; 

をトリガするNSTimerクラスをご覧ください。

[self performSelector:@selector(spinWheel:) withObject:[NSNumber numberWithUnsignedInt:0] afterDelay:delay]; 

タイマーオブジェクトの周りマックする必要が:私は好む「X秒でこのコードを実行しない」の場合

+0

はい、同意します。私はスピンしたくなかったが、何かがうまくいくことを望んでいたら別のものを試していただけだった。 Bogatyrのソリューションは魅力的に機能しました! – user643405

0

+0

ありがとう!それはトリックでした! – user643405

+0

あなたは大歓迎です!スタックがオーバーフローすると、感謝の意を表明し、仲間の質問者に役立つ回答を受け入れることで助けになります。 – Bogatyr

関連する問題