减少整数Spritekit

时间:2015-10-02 21:47:30

标签: ios objective-c sprite-kit

我在Sprite Kit中有一个项目,我正在努力使计时器逐渐减少。例如,如果timer float变量设置为3.0,则会逐渐减小并在0,3秒后。随着更新工作在精灵工具包中的方式,它是一个可怕的混乱试图让一个整数逐渐减少。

例如:

time+=1;

如果我将其置于更新无效状态,它将根据帧等非常快速且不同地增加。有没有一种方法可以以稳定的速率增加或减少一个值,尽管Sprite Kit中的fps没有?

1 个答案:

答案 0 :(得分:1)

最好每次更新获取当前时间并将其与初始时间进行比较,以确定何时通过3秒。

SKScene子类中声明一个ivar:

@implementation MyScene {
    NSDate* _timestamp;
}

计时器启动时:

_timestamp = [NSDate timeIntervalSinceReferenceDate];

在更新通行证中检查您的计时器:

- (void)update:(NSTimeInterval)currentTime {
    if(_timestamp != nil && currentTime - _timestamp.timeIntervalSinceReferenceDate >= 3.0) {
        // Perform your timer event
    }

    // Other updates
}