2013-12-15 3 views
5

私はゆっくりと粒子システムとエミッタをコード内で操作する方法を知っていましたが、私には分かりませんが簡単な作業が1つあります...マウスを持っているときにどうすれば粒子を生成できますかボタン?私は、その押されていないときにemmiterのmaxCountを0に設定することで回避しようとしましたが、パーティクルをまったく放出しないか、または非常に不自然に見える既存のものをただ消滅させてしまいます。レンダリングメソッドで "手動で"それらを放出する方法はありますか?Libgdx - マウスボタンを押したときにのみ粒子を生成する方法は?

+2

私たちに、あなたが現在作業していることを示すコードを表示します。 –

+0

Sry私はこれを完全に忘れていました。 – Pablo1517

答えて

1

おそらく、パーティクルエミッタのエミッションスケール値を設定する必要があります。あなたが望む最大粒子数で最大カウントを残すことができます。

粒子の作成をオフにするには:

emitter.getEmission().setLow(0); 
emitter.getEmission().setHigh(0); 

背面にそれを有効にするには:

emitter.getEmission().setLow(10); 
emitter.getEmission().setHigh(10); 
0

は、あなたのリスナーと組み合わせたプールを使用してみてください:

gitHub link

0

これは私がそれを動作させるようにしたものです。 "ブローイング"は、基本的にブール値で、マウスのボタンを押している場合はtrue、そうでない場合はfalseです。

if (blowing) { 
     effectEmitter.start(); 
    } else { 
     effectEmitter.allowCompletion(); 
    } 
関連する問題