0

iOS のパーティクル システム (スプライト キットまたは CAEmitterLayer) が自分のタスクに適しているかどうかを理解しようとしています。

質問:エミッタがパーティクルを作成するタイミングを制御する方法はありますか? 特に、いつ放出し、いつ放出を停止するかをエミッタに伝えます。

理論的根拠:基本的には、パーティクルを使用して音楽イコライザー (ビジュアライザー?) エフェクトを作成したいと考えています。周波数ごとにエミッターを用意して、その時点でのその周波数の信号強度に応じて形状/速度が異なる粒子を作成することを考えました。

これがパーティクルで可能かどうか、そうでない場合は効果的に行う方法を教えてください (レイヤー?ビュー?)。OpenGL のレベルが低すぎます。

4

1 に答える 1

2

エミッタがパーティクルを作成するタイミングを制御する方法はありますか?

エミッターは軽量オブジェクトであり、インターフェースに存在する限り、エミッター システム (私がそう呼んでもよい場合) に放出するように指示します。構成済みのエミッターの放出を開始および停止するには、最も簡単な方法は、可視インターフェイスに配置するか、そこから削除することです。

もちろん、エミッタの値を単純に変更することもできます。birthRateゼロのエミッタはbirthRateパーティクルを放出しません。しかし、効果は単にエミッターを取り除くほど即時ではありません。

したがって、それはあなたが望むものに依存します。エミッタを削除すると、すべてのパーティクル (kaboom) が削除され、エミッタをインターフェイスに復元すると、すべてのパーティクル (kaboom) も復元されます。つまり、そのエミッタに関連付けられている放出ワールド全体が削除または挿入されます。birthRate一方、 を変更すると、スピゴットのオンとオフが切り替わるだけです。

于 2016-03-20T00:10:14.387 に答える