Я просто хотел сделать что-то, что мне кажется очень простым, а именно сделать эмиттер на весь фон представления... тогда я хотел бы, чтобы представление могло аспектировать, заполнять и масштабировать и т. д., позволяя эмиттеру выглядеть правильно что бы я не делал...
Я не собираюсь просто масштабировать эмиттер. Я хочу, чтобы объекты оставались правильного размера, но я хочу, чтобы область эмиттера менялась... думайте об этом как о параметре "размер холста" (без изменения размера) в фотошопе..
Я бы использовал этот эффект, например, чтобы добавить снег или дождь на всю сцену или сделать спрайт снежного шара...
Дело в том, что, возможно, я просто ищу не в том месте, но кажется, что любые свойства размера на 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)
}
}
Мне нужно уточнить немного больше. Для снега я бы хотел, чтобы частицы создавались до того, как они войдут в сцену, а затем падают сквозь сцену и умирают только после того, как покинут сцену, а не случайным образом появляются по всей сцене, а затем продолжают падать... Я бы хотел, чтобы снег занимал все границы сцены.