繁体   English   中英

'通话中的额外参数'Swift and Sprite Kit

[英]'Extra argument in call' swift and 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)
}

random()不接受任何参数。

最好的办法是像这样使用arc4random_uniform()

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

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

如果您正在使用swift stdlib提供的random()函数,则其声明如下:

func random() -> Int

不会有任何争论。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM