2011-01-31 40 views
2

我希望在xcode中爲我的iphone應用程序執行運行分數動畫,以便每當我通過整數scoreAdded增加分數時,分數將運行到新分數,而不是正在更新爲新的分數。我嘗試了一些與睡眠循環,但沒有可用。所以我想知道是否有辦法做到這一點。謝謝。如何在iPhone中執行運行分數動畫sdk

+0

你需要給大量的詳細信息,如果你願意,你可以使用一個答案。您的遊戲是否使用NSTimer scheduledTimer調用來定期更新遊戲?你如何顯示分數,使用UIKit? for循環出了什麼問題? – Dave 2011-01-31 14:13:11

+0

我使用UILabel顯示得分並將int currentScore傳遞給它。然後我實現了一個觸摸類,每當觸摸結束時,int scoreAdded被傳遞給更新currentScore的方法。對於缺乏信息感到抱歉。 – Jin 2011-01-31 14:32:08

+0

好吧,我想你應該加一個計時器。我會在... – Dave 2011-01-31 14:51:33

回答

5

添加一個計時器,將每隔一段時間調用特定的方法,像這樣:

NSTimer *tUpdate; 
NSTimeInterval tiCallRate = 1.0/15.0; 
tUpdate = [NSTimer scheduledTimerWithTimeInterval:tiCallRate 
              target:self 
             selector:@selector(updateScore:) 
             userInfo:nil 
              repeats:YES]; 

這將請致電updateScore方法每秒15次

然後在遊戲的主體部分,而不是簡單地添加金額爲currentScore,我會將額外金額存儲在一個單獨的成員變量中,比如addToScore。例如

addToScore = 10; 

你的新方法updateScore會有這樣的一些代碼:

if (addToScore) 
{ 
    addToScore--; 
    currentScore++; 
    // Now display currentScore 
} 
0

嘗試在正在顯示你的分數在每次迭代後重繪的觀點:

for (/* loop conditions here */) { 
    score += 1; 
    [scoreView setNeedsDisplay:YES]; 
}