我喜歡,所以我的屏幕上的每一個節點0.2-5.0秒產卵:如何在不重疊的情況下產生多個節點?
override func didMoveToView(view: SKView) {
backgroundColor = UIColor.whiteColor()
runAction(SKAction.repeatActionForever(
SKAction.sequence([
SKAction.runBlock(blackDots),
SKAction.waitForDuration(1.0)])))
}
func random() -> CGFloat {
return CGFloat(Float(arc4random())/0xFFFFFFFF)
}
func random(min min: CGFloat, max: CGFloat) -> CGFloat {
return random() * (max - min) + min
}
func blackDots() {
let dot = SKSpriteNode(imageNamed: "[email protected]")
dot.size = CGSizeMake(75, 75)
dot.name = "dotted"
dot.position = CGPointMake(500 * random(min: 0, max: 1), 500 * random(min: 0, max: 1))
addChild(dot)
}
然而,當他們被催生,有的交叉,躺在彼此頂部?有沒有辦法來防止這種情況?提前致謝。
您是否嘗試過使用碰撞檢測?因此爲每個節點打開物理,並關閉重力。 –
我其實從來沒有想到這一點。謝謝!但是,這將如何阻止它們重疊? – IHeartAppsLLC
他們可能仍然重疊,但他們會(希望)彼此離開。只要給它一下,看看它是否有預期的效果。它足夠快實施。我能想到的唯一方法就是在節點添加到場景之前檢查節點是否存在於某個位置。我會以第二種方式做出答案。 –