在cocos2d中,有没有与onEnter和onExit并行的东西?

时间:2011-08-30 02:42:51

标签: cocos2d-iphone

我可以通过onEnter和onExit方法捕获场景变化事件。但是当场景变化事件需要时间,如淡入或淡出时,onEnter被提前调用(在淡入淡出之前),onExit被调用到晚期(在淡入淡出之后)。

我希望在淡入淡出完成后调用另一个onEnter,并在淡入淡出之前调用另一个onExit。我可以吗?

2 个答案:

答案 0 :(得分:4)

只有转换的第二个onEnter回调,它被称为onEnterTransitionDidFinish。但是就像已经提到的那样,只有在CCScheduler与CCSceneTransition一起使用时才会触发。

答案 1 :(得分:2)

在CCFadeIn中使用CCSequence,然后在其后添加CCCallFunc。

onEnter和onExit与CCNode对象分配和删除有关,而不是物理视图。

示例代码:

[scene runAction:[CCSequence actions:
   [CCFadeIn actionWithDuration:0.45f],
   [CCCallFunc actionWithTarget:scene selector:@selector(fakeOnEnter:)], nil]];

在场景对象中,你需要一个方法,

-(void) fakeOnEnter:(id)sender {
  // your code to run after the fadein
}