2012-11-15 86 views
5

我對Objective C和x-code非常新穎。我上週剛開始學習它。如果問題太簡單,那麼很抱歉。目標C中的時間間隔

我正在做一個遊戲更像一個視覺小說,所以它非常簡單和基於故事板的應用程序,但我有一個關於顯示我的選擇的問題。我希望在剪切場景結束後出現這些選擇。有什麼辦法可以添加像時間間隔休息這樣的東西,所以他們只會在一定時間後纔會出現。有人可以請指導我如何去做。

回答

1

您可以使用NSTimer

[NSTimer scheduledTimerWithTimeInterval:2.0f 
           target:self 
           selector:@selector(displayChoiceTimerFired:) 
           userInfo:nil 
           repeats:NO]; 

這將安排一個計時器,將在2秒後執行displayChoiceTimerFired:方法。 (該方法的參數是定時器本身。)

或者你也可以使用NSObjectperform方法:

[self performSelector:@selector(displayChoice:) withObject:nil afterDelay:2.0f]; 
+0

但我仍然添加在UI建設者的對象正常正確的,但他們遲到顯示的數字。如果我創建另一個窗口會更好嗎? –

+0

在計時器觸發時,以編程方式創建新的用戶界面。或者讓它們隱藏在Interface Builder中,然後在定時器使用'object.hidden = NO'觸發時顯示。 – DrummerB

+0

thx很多。這真的很有幫助 –

1

取決於你如何顯示您的剪輯場景,更安全的方式來顯示這些當剪切場景結束時,UI元素將以某種方式觸發一個動作。我可以預見NSTimer實現的問題是,無論出於何種原因,如果您的剪切場景比您的NSTimer間隔設置爲更長,那麼您的UI元素會過早顯示。只是我的兩個不同的美分,但我認爲是一個更優雅的方法。

1
[self performSelector:@selector(displayChoice:) withObject:nil afterDelay:1.0]; 

您可以使用此方法...其中延遲後的秒