0

方法やコード例、またはこれに関連するものについてのアイデアが必要です。

パーティクルシステムを作成しました。ここでは、ニコラの例から示します。

final SpriteParticleSystem particleSystem = new SpriteParticleSystem(new PointParticleEmitter(-32, ParticleSystemNexusExample.CAMERA_HEIGHT - 32),
                                                                     ParticleSystemNexusExample.RATE_MIN, 
                                                                     ParticleSystemNexusExample.RATE_MAX, 
                                                                     ParticleSystemNexusExample.PARTICLES_MAX, 
                                                                     this.mParticleTextureRegion, this.getVertexBufferObjectManager());  

私が必要としているのは、変数を「LIVE」更新することです

private static final float RATE_MIN = 5;
private static final float RATE_MAX = 8;
private static int PARTICLES_MAX = 16;

これが前のコードの変数です

ParticleSystemNexusExample.RATE_MIN
ParticleSystemNexusExample.RATE_MAX
ParticleSystemNexusExample.PARTICLES_MAX

なんらかの可能性はありますか?どういうわけかパーティクルシステムを再起動することが可能です。再起動しても100%「ライブ」でシステムを更新することはできませんが、設定を使用するようにアプリにとどまる必要があり、設定を終了すると新しい変数が取得されます。

基本的に私は持ってonCreateSceneいますParticleSystem();

publicvoid ParticleSystem() {}を使用します

そしてそれを再起動することは可能ですか?

4

1 に答える 1

0

正確に何をしたいのかは明確ではありませんが、Nicholas は ParticleSystem クラスで最小および最大レート変数を非公開にしました。どのような動作が得られるかはわかりませんが、そのためのパブリック インターフェイスを追加し、リアルタイムで更新して何が起こるかを確認できます。AndEngine プラットフォーム コードをいじりたくない場合は、次の提案があります。

レートの異なる 2 つ以上のパーティクル システムを作成し、必要に応じて画面上で管理できます。1 回だけ交換したい場合は、1 つ目を取り外して 2 つ目を取り付けるだけです。それらの間で変更を続けたい場合は、 setParticlesSpawnEnabled を使用して、どちらがアクティブかを判断できます。

乾杯!

于 2012-08-23T21:11:34.633 に答える