'呼叫中的额外参数' swift和sprite kit

时间:2014-12-29 10:02:58

标签: ios swift

我的swift代码出错了,我使用了sprite kit引擎。 这是我的代码:

func addEnemy() {
    let enemy = SKSpriteNode(imageNamed: "EnemySprite")

    let randX = random(0, self.size.height) // extra argument in call

    var spawnPos =CGPointMake(CGFloat(randX), CGFloat(self.size.height + enemy.size.height / 2))          
    enemy.position = spawnPos
    self.addChild(enemy)
}

2 个答案:

答案 0 :(得分:1)

random()不接受任何争论。

您最好的方法是使用arc4random_uniform(),如下所示:

let randX = arc4random_uniform(UInt32(self.size.height + 1))

arc4random_uniform()UInt32之间返回0,并且比作为参数传递的值少1。因此,要获得0和高度之间的数字,请在高度上添加一个数字并将其传入。

答案 1 :(得分:0)

如果您使用的是random()中提供的stdlib功能,则声明如下:

func random() -> Int

它不会采取任何争论。

注意:如果您定义了自己的random()函数,请将其与问题一起发布。

相关问题