CCTimer没有触发它应该的方法?还有selfSchedule覆盖自己

时间:2012-11-01 04:38:42

标签: iphone ios objective-c cocos2d-iphone

2个问题 我不能做CCTimer工作,我通过问题看了很多。 然而,我确实使NSTimer工作正常,让我说我用过这个:

[NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(bombExplodes:) userInfo:0 repeats:1];

[CCTimer timerWithTarget:self selector@selector(bombExplodes:) interval:3]

我知道CCTimer应该会在3秒钟内激活bombExplodes物品..然而它只是没有这样做!与此同时,NSTimer正如预期的那样工作! 我不太确定我做错了什么..

另外,我之前尝试过使用selfSchedule,即使它工作正常,我也有一个小问题。 说一个selfSched调用被调用,它应该在5秒钟内启动一个方法。如果在激发该方法之前再次调用此相同的selfSched调用,我注意到它几乎取消了第一次调用(从而覆盖了它)。这应该发生吗?

谢谢!

3 个答案:

答案 0 :(得分:2)

这可能对您有所帮助

[self performSelector:@selector(bombExplodes:)withObject:nil afterDelay:3.0];

答案 1 :(得分:1)

试试这个

    CCTimer *myTimer = [[CCTimer alloc] initWithTarget:self 
                         selector:@selector(methodName:) interval:delay]]

答案 2 :(得分:1)

我认为如果您使用的是cocos2d,则无需使用NSTimer,因为调度程序始终是cocos2d中更好的选项。您可以通过简单地使用

来实现您的目标
[self schedule:@selector(bombExplodes:)];  

并且对于自定义间隔,您可以使用

[self schedule:@selector(bombExplodes:) interval:3.0f];