如何只制作一次cocos2d计划选择器?现在我能做的最好的事情是:
[self schedule:@selector(eventHappend:) interval:2];
和eventHappend:
- (void)eventHappend: (ccTime) dt
{
[self unschedule:@selector(eventHappend:)];
// Do stuff
}
但这似乎是一种解决方法......有一种方法只能安排一次吗?
答案 0 :(得分:9)
您可以在节点上运行一系列操作,CCDelay后跟一个调用您的方法的CCCallFunc。
喜欢这个......
[self runAction:[CCSequence actions:[CCDelayTime actionWithDuration:2],
[CCCallFunc actionWithTarget:self selector:@selector(eventHappened)],
nil]];
答案 1 :(得分:3)
- (void) scheduleOnce: (SEL)selector delay: (ccTime)delay
计划仅运行一次的选择器,延迟为0或更大
答案 2 :(得分:0)
你也可以用这个:
[self unschedule:_cmd];
在您的eventHappened函数中 - 它将使您的日程安排运行一次。
答案 3 :(得分:-1)
对于你需要的东西来说,大多数都太复杂了(尽管它们很简单)
您只需要以下代码:
[self performSelector:@selector(eventHappend:) withObject:nil afterDelay:2];
它将只运行你的方法eventHappend一次。