感謝。 我設置在屏幕中間的圓圈用位置精靈與事先迅速和spritekit
circle = SKShapeNode(circleOfRadius: 100) // Size of Circle
circle.position = CGPointMake(frame.midX, frame.midY) //Middle of Screen
circle.strokeColor = SKColor.whiteColor()
circle.glowWidth = 1.0
circle.fillColor = SKColor.orangeColor()
self.addChild(circle)
我想要做的是,當用戶點擊屏幕,一個精靈會出現從一個隨機位置,並且向中心移動的屏幕。我得到的問題是,有時精靈會出現在圓圈內。所以我的計劃是讓精靈從屏幕外側向中心移動。我怎樣才能做到這一點?
這裏是我與隨機位置
let randomX = CGFloat(arc4random()) % self.frame.weith
let randomY = CGFloat(arc4random()) % self.frame.height
然後設定精靈做的代碼
sprite.position = CGPointMake(randomX, randomY)
我嘗試了以下設置精靈的隨機位置,他們沒有正在
let randomX = Int(arc4random_uniform(UInt32(self.frame.width + self.frame.width/2))) || Int(arc4random_uniform(UInt32(self.frame.width - self.frame.width/2)))
let randomY = Int(arc4random_uniform(UInt32(self.frame.height + self.frame.height/2))) || Int(arc4random_uniform(UInt32(self.frame.height - self.frame.height/2)))
和
let randomX = (CGFloat(arc4random()) % self.frame.width + self.frame.width/2) || (CGFloat(arc4random()) % self.frame.width - self.frame.width/2)
let randomY = (CGFloat(arc4random()) % self.frame.height + self.frame.height/2) || (CGFloat(arc4random()) % self.frame.height - self.frame.height/2)
計算位置範圍在圈內,檢查是否在隨機位置在圓圈中,如果再次這樣做隨機計算。直到你得到正確的隨機值。 – duan 2015-04-05 10:14:08