2013-07-04 17 views
0

我使用的cocos2d 2.0是否有可能安排多個選擇或更新回調單CCNode對象

在我的層類

我調度的方法

[self schedule:@selector(myMethod:) ]; 

然後在相同的層I調度另一這樣的方法

[[self scheduler]scheduleSelector:@selector(mySecondMethod) forTarget:self interval:enemySpawnSpeed paused:NO]; 

當我運行代碼它說'CCScheduler。嘗試安排選擇器的暫停值不同於目標'

當我評論這些行中的任何一行時,我的項目運行良好並且不會出現錯誤。是否不可能使用同一節點安排多個選擇器?或者我在這裏做錯了什麼?

閱讀指導http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:draw_update後,我不知道,但我想我們只能安排每個節點的一項選擇

+3

你爲什麼使用[self scheduler]? – Kreiri

+0

是的,你可以安排多個選擇器。你在調度程序getter中返回* [CCDirector Scheduler] *嗎? –

回答

0

當然,這個工程:

[self scheduleSelector:@selector(myMethod:)]; 
[self scheduleSelector:@selector(mySecondMethod:)]; 

mySecondMethod選擇在年底缺少一個冒號。您得到的錯誤與暫停標誌有關,您應該使用self.paused而不是使用NO來確保選擇器的暫停狀態與目標的狀態相同。

此外,第二行很奇怪,你是否嘗試從課程外部安排更新?如果是這樣,只需發送消息到圖層對象(即scheduleMySecondMethod),然後調度選擇器。

+0

如果我在一個圖層的init方法中編碼,我不應該將消息發送到其調度程序屬性?這就是我在第二行所做的。並感謝告訴self.paused而不是NO它幫助。 – Saifee

+1

每個節點類都有[self schedule * ..]方法,請參閱:http://www.learn-cocos2d.com/api-ref/KoboldTouch/latest/cocos2d-iphone/html/interface_c_c_node.html#afe99d609f17c4c849e4543805ffeceab您使用了它在第一個例子中正確地說,沒有理由使用調度器,也沒有'調度器'是節點的標準屬性。 – LearnCocos2D

相關問題