我只是想做一些對我來說看起來非常簡單的事情,就是讓一個發射器進入視圖的整個背景中......然後我希望視圖能夠縱向填充和縮放等等,從而允許發射器看看我是幹什麼的...如何調整SKEmitterNode的大小?
我不想只是縮放發射器。我想要的對象保持正確的大小,但我希望發射器的區域改變...想像它在Photoshop中的「畫布大小」(不調整大小)選項..
我會用這個效果,例如,爲整個場景添加雪或雨,或使雪球精靈...
事情是,也許我只是沒有在正確的地方看,但似乎任何大小的屬性一個SKEmitterNode是隻讀的...我做錯了什麼?
這裏有一些代碼,其中由此產生的發射器只是在視圖中間的一個小矩形。
override func viewDidLoad() {
super.viewDidLoad()
if let scene = GameScene(fileNamed:"GameScene") {
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
if let emitter = SKEmitterNode(fileNamed: "Bokeh") {
emitter.position = view.center
scene.addChild(emitter)
}
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
skView.presentScene(scene)
}
}
我需要澄清一點。對於雪,我希望粒子在進入場景之前進行實例化,然後在場景中落下,並在場景離開後纔會死亡,而不是隨機出現在整個場景中,然後繼續倒下......我想讓雪花佔據整個場景。
所以我在視圖的中心的發射器的位置,並設置的範圍爲寬度和身高?這聽起來不那麼糟糕。 :-) –
完全工作,是這樣一個救濟知道和理解:-)非常感謝! –
還有一個問題......對於雪,我如何讓粒子最初只出現在視圖的上方,而不是隨意地遍佈視圖? –