【发布时间】:2010-08-01 08:47:53
【问题描述】:
我正在使用 cocos2d 和 box2d 开发一个 iPhone 应用程序。在这个应用程序中,我需要设置一个计时器。 计时器将显示玩家到达目的地的剩余时间...
我该怎么做.....我已经画了一个场景,但我是初学者不确定如何添加计时器..
谢谢
【问题讨论】:
标签: iphone cocos2d-iphone
我正在使用 cocos2d 和 box2d 开发一个 iPhone 应用程序。在这个应用程序中,我需要设置一个计时器。 计时器将显示玩家到达目的地的剩余时间...
我该怎么做.....我已经画了一个场景,但我是初学者不确定如何添加计时器..
谢谢
【问题讨论】:
标签: iphone cocos2d-iphone
我会简单地安排一个带有间隔的选择器。这适用于所有基于 CCNode 的类。
安排每秒触发一次的选择器:
[self schedule:@selector(timerUpdate:) interval:1];
此方法每秒调用一次:
-(void) timerUpdate:(ccTime)delta
{
numSeconds++;
// update timer here, using numSeconds
}
使用 CCTimer 的 Parceval 方法也可以,但您应该更喜欢这样的静态自动释放初始化程序:
CCTimer *myTimer = [CCTimer timerWithTarget:self
selector:@selector(myTimedMethod:)
interval:delay]];
【讨论】:
您可以使用 CCTimer。 就像这样:
float delay = 1.0; // Number of seconds between each call of myTimedMethod:
CCTimer *myTimer = [[CCTimer alloc] initWithTarget:self
selector:@selector(myTimedMethod:) interval:delay]];
方法 myTimedMethod: 将每秒被调用一次。
【讨论】:
CCTimer 比 NSTimer 有什么优势?