我的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)
}
答案 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()函数,请将其与问题一起发布。