2011-05-25 80 views

回答

4

我建議你不應該創建暫停層單獨的場景。你可以做的是,創建一個類似於HUD Layer的圖層。
第二個選項將會是this之類的東西。不要設置圖層的背景顏色。
希望有所幫助。

+0

謝謝,你的第二個選項:) – Anks 2011-05-25 11:05:17

+0

太棒了。很高興幫助:) – Nitish 2011-05-25 11:09:28

+1

你提供的第二個鏈接不起作用。你能否再次提供鏈接? – 2014-05-22 11:41:49

2

我知道你已經有了答案,但是想分享我的解決方案,因爲我在研究相同問題時點擊了此鏈接。我也在cocos2d論壇發佈了這個。

- (void)pauseSchedulerAndActionsRecursive:(CCNode *)node { 
    [node pauseSchedulerAndActions]; 
    for (CCNode *child in [node children]) { 
     [self pauseSchedulerAndActionsRecursive:child]; 
    } 
} 

- (void)resumeSchedulerAndActionsRecursive:(CCNode *)node { 
    [node resumeSchedulerAndActions]; 
    for (CCNode *child in [node children]) { 
     [self resumeSchedulerAndActionsRecursive:child]; 
    } 
} 

我有一個場景和兩個圖層,一個舞臺/遊戲圖層和一個菜單圖層。我的菜單進出動畫,我想我的暫停菜單也可以進出動畫。所以我只是將上述功能添加到我的舞臺/遊戲層。然後,當用戶暫停時,我會調用pauseSchedulerAndActionsRecursive:在我的舞臺/遊戲層上,並將我的菜單圖層添加到頂部的場景中。我的菜單吞下所有的觸摸,所以在菜單層啓動時,在舞臺/遊戲層上也禁用了觸摸。然後,只需調用resumeSchedulerAndActionsRecursive:方法即可恢復。希望這可以幫助別人。