[英]'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.