2012-11-20 36 views
2

我正在製作iOS遊戲,其中出現文本標籤並且玩家必須擊中相應的彩色按鈕。我試圖找出如何格式化if語句來識別按下的按鈕是否與屏幕上的當前文本匹配。我想在這個if語句中發生的是:如果redText顯示AND redButton被推入,則添加點。否則遊戲結束。我會複製/粘貼這四種顏色的每一種顏色的聲明。識別'if語句'中的按鈕按下

這裏是因爲我有它目前,注意方法「buttonPressed」沒什麼意思,只是一個佔位符:

-(void)gameStatePlayNormal 
{ 
    if (redText.hidden=NO && buttonPressed == redButton) 
{ 
    score += 10; 
} 
    else 
{ 
    gameState = kStateGameOver; 
} 
} 

預先感謝您的反饋意見。 :)

+0

按下按鈕是否直接調用'gameStatePlayNormal'方法? –

+0

嘗試在你的按鈕上放置標籤並檢查它是否是帶有標籤的按鈕。 –

回答

2

您需要製作一個函數,當任何按鈕被按下時將被調用。將每個按鈕連接到故事板中的此功能(「Touch Up Inside」事件)。然後你可以攔截髮件人。

- (IBAction)buttonWasPressed:(id)sender 
{ 
    if (redText.hidden=NO && [(UIButton *)sender isEqual:redButton]) { 
     score += 10; 
    } 
    else { 
     gameState = kStateGameOver; 
    } 
} 
+0

'(UIButton *)buttonPressed'應該是'(UIButton *)sender'。 –

+0

@AlexWayne哎呀,謝謝。 – woz

+0

Woz讓我更接近,但是當我在這種情況下按下redButton時,應用程序終止,說'無法識別的選擇器發送到實例0x9027ea0' – Andrewb