我正在制作一个游戏,我需要“皱眉”在屏幕上的随机位置产生然后通过。
我有它产卵但它只在一个部分产生,它不会在其他任何地方产卵:
}
func random() -> CGFloat {
return CGFloat(Float(arc4random()) / 0xFFFFFFFFFFFFF)
}
func random(#min: CGFloat, max: CGFloat) -> CGFloat {
return random() * (max - min) + min
}
func addFrowny() {
let frowny = SKSpriteNode(imageNamed: "Frowny")
let actualX = random(min: frowny.size.width/2, max: size.width + frowny.size.height/2)
frowny.position = CGPoint(x: actualX, y: size.width - frowny.size.height/2)
addChild(frowny)
let actualDuration = random(min: CGFloat(2.0), max: CGFloat(4.0))
let actionMove = SKAction.moveTo(CGPoint(x: actualX, y: +frowny.size.height/2), duration: NSTimeInterval(actualDuration))
let actionMoveDone = SKAction.removeFromParent()
frowny.runAction(SKAction.sequence([actionMove, actionMoveDone]))
答案 0 :(得分:0)
您的random
方法不会返回0到1之间的值,而是每次返回0.00000001之类的值。请改用此随机函数:
func random() -> CGFloat {
return CGFloat(Double(arc4random()) / Double(UInt32.max))
}
(你分得太多了,当混淆时不应该使用十六进制)