2014-04-04 93 views
0

我有一個按鈕作爲CCMenuItemImage的菜單,我動畫使用下面的代碼進行增長和縮小,但pauseSchedulerAndActions似乎不起作用。Cocos2d無法暫停動作

id butActionGrow = [CCScaleTo actionWithDuration:0.8 scale:1.05]; 
id butActionShrink = [CCScaleTo actionWithDuration:0.8 scale:1.0]; 
id butActionSeq = [CCSequence actions:butActionGrow, butActionShrink, nil]; 
[myButton runAction:[CCRepeatForever actionWithAction:butActionSeq]]; 
[myButton pauseSchedulerAndActions]; //DOES NOT PAUSE ACTION 

動畫只是繼續運行,不會暫停。任何想法爲什麼它不會暫停?

感謝

編輯:請注意,我需要能夠在以後的時間恢復操作爲好。

編輯:基於Karthik Ra的回答,我想出了以下解決方案,在需要時停止所有操作,然後當需要恢復操作時,只檢查以確保沒有已經運行的操作並啓動序列再次:

[myButton runAction:[CCRepeatForever actionWithAction:[CCSequence actions:[CCScaleTo actionWithDuration:0.8 scale:1.05], [CCScaleTo actionWithDuration:0.8 scale:1.0], nil]]]; 
[myButton stopAllActions]; 
if ([myButton numberOfRunningActions] == 0) { 
    [myButton runAction:[CCRepeatForever actionWithAction:[CCSequence actions:[CCScaleTo actionWithDuration:0.8 scale:1.05], [CCScaleTo actionWithDuration:0.8 scale:1.0], nil]]]; 
} 
+0

你見過嗎? http://stackoverflow.com/questions/19056101/cocos2d-actions-and-animations-are-not-paused – uchamp

+0

我沒有見過。這是很好的信息,雖然我不明白它說的是什麼。這是按鈕的子操作,這就是pauseSchedulerAndActions不起作用的原因嗎? – jsherk

回答

1
try this: 

[myButton stopAllActions]; 
+0

@karthik_ra好吧,所以是這會停止行動,但我該如何重新啓動它們?我需要暫停按鈕動畫,然後再重新啓動它。我更新了我的問題。 – jsherk

+0

我接受這是正確的答案,因爲它導致我找到一個解決方案,我在上面發佈在我的問題。 – jsherk

+0

FiniteTimeActions僅暫停和恢復。 CCRepeatForever操作(inFiniteTimeActions)不能暫停和恢復。 –