SpriteKit Swift 4错误:类型'Int'没有成员'随机'

时间:2017-11-11 02:15:27

标签: ios swift skspritenode swift4

我正在使用Swift 4进行跳跃游戏,我遇到了以下代码的错误:

func addRandomForegroundOverlay() {
    let overlaySprite: SKSpriteNode!
    let platformPercentage = 60
    if Int.random(min: 1, max: 100) <= platformPercentage {
        overlaySprite = platform5Across
    } else {
        overlaySprite = coinArrow
    }
    createForegroundOverlay(overlaySprite, flipX: false)
}

错误出现在第4行,并说:Int类型没有成员random

2 个答案:

答案 0 :(得分:1)

Int类型未提供random()方法。

由于您正在制作游戏,因此使用GameplayKit.GKRandom可能非常合适。试试这个:

import GameplayKit
...
let randomizer = GKRandomSource.sharedRandom()
let randomInt = 1 + randomizer.nextInt(upperBound: 100) // 1...100

或者,更好的是,自己实现缺失的方法;)

extension Int {
    static func random(min: Int, max: Int) -> Int {
        precondition(min <= max)
        let randomizer = GKRandomSource.sharedRandom()
        return min + randomizer.nextInt(upperBound: max - min + 1)
    }
}

用法:

let randomInt = Int.random(min: 1, max: 100)

答案 1 :(得分:1)

最简单的方法是使用 module.exports.comparePassword=function(candidatePassword,hash,callback){ bcrypt.compare(candidatePassword,hash,(err,isMatch)=>{ if(err) throw err; callback(null,isMatch); }); }