无法设置带有选择器的计时器,只能在cocos2d-iphone中调用方法

时间:2014-03-29 17:41:20

标签: cocos2d-iphone sprite

我使用的是cocos2d的最新版本。我想从父母那里删除几个精灵。通常会使用序列,对吗?但在我的情况下,一段时间后删除精灵会更容易,所以我试图设置一个计时器。

我试过这个`

 [self schedule:@selector(oneTimer) interval:5.0f repeat:0 delay:3];

然后

-(void)oneTimer{
[self removeChild:_abcd];
[self removeChild:_abce];
[self removeChild:_aabcd];
[self removeChild:_aaabcd];

}

我没有得到我想要的东西。应该如何实现?所以" oneTimer"方法只会调用一次?

2 个答案:

答案 0 :(得分:0)

计划选择器采用时间参数,因此:

[self schedule:@selector(oneTimer:) and so on...];

注意选择器名称末尾的dolon,因为方法签名必须是:

-(void) oneTimer:(CCTime)deltaTime {
    ..
}

答案 1 :(得分:0)

如果你想在延迟3秒后只运行一次oneTimer(),那么你可以使用只运行一次的performselector_after_delay或scheduleOnce_delay。 e.g。

   [self performSelector:@selector(oneTimer) withObject:nil afterDelay:3];

OR

   [self scheduleOnce:@selector(oneTimer) delay:3];