私は、私には本当にシンプルなものをやりたいと思っていました。ビューのバックグラウンド全体にエミッタを作っています...そして、ビューをaspectFillとScaleにできるようにし、エミッタ私が何をしても適切に見えるように...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)
}
}
もう少し明確にする必要があります。雪の場合は、パーティクルがシーンに入る前にインスタンス化され、シーンを通過して落ちてしまい、シーン内をランダムに表示されずに落ちてしまい、その後落ちてしまいます。私は雪がシーンの境界全体を占めるようにしたいと思う。 particlePositionRangeあなたが探していると呼ばれる
ので、私は、ビューの中央にエミッタを配置し、幅する範囲を設定しますと高さ?それはそれほど悪くはありません。 :-) –
これは完全に働いていて、知っていて理解するのがとても嬉しいです:-)ありがとうございます! –
もう一つの質問...雪のために、私はパーティクルを最初に表示するだけで、ビューの上にランダムに表示するのではなく、どうやって表示しますか? –