2014-03-19 22 views
2

我試圖將我的項目更新到Cocos2d v3。我不知道如何實現每幀運行的更新方法。 這裏https://www.makegameswith.us/gamernews/359/cocos2d-30-a-brief-transition-guide存在信息不[self scheduleUpdate];調用是必需的,只是爲了添加方法如何實現每幀運行的更新方法

- (void)update:(CCTime)delta { 
     ... 
} 

我想我的方法時,現場的負荷運行每一幀。但是如果我想在其他事件之後開始計劃呢?按下按鈕舉例,或者啓動,然後停止然後再次運行它?

ccTime呢?它只是改名爲CCTime?

回答

2

是的,update方法是每幀運行。

如果你想根據你的遊戲狀態有不同的行爲,你可以簡單地使用ifswitch,特別是如果你的遊戲很簡單。

如果更復雜,您可以隨時選擇不同的方法來運行。

這是我的選擇物業

// The update selector used depending on state 
@property (nonatomic, assign) SEL updateSelector; 

而且我的更新方法

- (void) update:(CCTime)delta 
{ 
    if (self.updateSelector != nil) 
    { 
     IMP imp = [self methodForSelector:self.updateSelector]; 
     void (*func)(id, SEL) = (void *)imp; 
     func(self, self.updateSelector); 
    } 
} 

我設置取決於我的狀態不同的更新選擇。

+0

非常感謝,效果很好 – Grixol