2015-10-29 79 views
1

我有一个游戏,我似乎无法得到节点上的x位置随机产卵,它会随机产卵,但往往会熄灭屏幕,游戏是那么无用的,必须重新启动它:在x位置随机产生SKNode?

func addEnemy() { 
    //enemy 
    let minValue = self.size.width/8; 
    let maxValue = self.size.width-20; 
    let spawnPoint = UInt32(maxValue - minValue); 

    Enemy = SKSpriteNode(imageNamed: "Enemy") 
    Enemy.size = CGSize(width: 150, height: 200) 

    Enemy.position = CGPoint(x: CGFloat(arc4random_uniform(spawnPoint)), y: self.size.height) 
    self.addChild(Enemy) 
} 

回答

1
let min: CGFloat = 15.0 
let max: CGFloat = 200.0 
let randomCGFloatBetweenMinAndMax = CGFloat(rand())/CGFloat(RAND_MAX)*(max-min)+min 

或者如果你喜欢

let randomCGFloatBetweenMinAndMax2 = CGFloat(arc4random_uniform(UInt32(max-min)) + UInt32(min)) 
+0

太感谢你了!我希望将其编辑为min = self.size.width/15.0和max = self.size.width - 200 –