iOS Swift SpriteKit-如何在用户触摸Sprites的用户触摸之间检测时间



我已经设置了一个Match-3游戏,我想跟踪用户在游戏板上触摸有效点(游戏片)的秒数:
(1)加载游戏级别时,如果用户在5秒内不触摸精灵,请跟踪;
(2)玩游戏时,如果用户触摸精灵之间的时间大于5秒钟,请跟踪此内容。
(我将使用这些结果为用户提供提示)。
我想为此使用Nstimer/nstimeinterval,但不确定如何实现。

我不建议像其他人建议的那样添加整数。

您需要的只是三角洲时间。我假设您已经解决了该部分,但是我会发布它,以防万一

场景属性

// time values
var delta:NSTimeInterval = NSTimeInterval(0)
var last_update_time:NSTimeInterval = NSTimeInterval(0)

您场景的更新方法(还为您的精灵创建一个更新方法,然后将delta传递到此处)

 func update(currentTime: NSTimeInterval) {
        if self.last_update_time == 0.0 {
            self.delta = 0
        } else {
            self.delta = currentTime - self.last_update_time
        }
        self.yourSprite.update(self.delta)

您精灵的时间属性

var timeSinceTouched = NSTimeInterval(0)
let timeLimit = NSTimeInterval(5.0)

您的精灵更新/触摸方法

func touched(){
    self.timeSinceTouched = 0.0
}
func update(delta: CFTimeInterval) {
    if self.timeSinceTouched < self.timeLimit {
        self.timeSinceTouched += delta
    } else {
        // five seconds has elapsed
    }

最新更新