2013-07-23 69 views
-1

我使用粒子效果我的遊戲使用libgdx。但是效果在很短的時間內就會顯現出來,然後就消失了。但是我想長時間或者在我的控制下顯示我的效果。 我的代碼在下面給出我的遊戲畫面一流...使用粒子效果

ParticleEffectPool waterEffectPool; 
Array<PooledEffect> effects = new Array<PooledEffect>(); 
ParticleEffect waterEffect; 
... 
... 
waterEffect = new ParticleEffect(); 
    waterEffect.load(Gdx.files.internal("data/runonwater"), Gdx.files.internal("data")); 
    waterEffectPool = new ParticleEffectPool(waterEffect, 1, 5); 
    //for(int i = 0; i <= waterEffectPool.max; i++){ 
     PooledEffect effect = waterEffectPool.obtain(); 
     effect.setPosition(150, 130); 
     effects.add(effect); 

和渲染方法我用它來渲染

for(int i = effects.size - 1; i >= 0; i--){ 
     PooledEffect effect = effects.get(i); 
     effect.draw(spriteBatch, deltaTime); 
     if(effect.isComplete()){ 
      effect.free(); 
      effects.removeIndex(i); 
     } 
    } 
+1

你使用粒子編輯器爲此?如果是,那麼有一個選項天氣可以設置這個效果是否連續。設置爲true並刪除使用effect.free()和effects.removeIndex(i)的代碼。 – Pranav008

+0

@ Pranav008你是對的。通過設定連續正確的工作。謝謝... –

+0

如果它的工作,那麼你可以投票了。多數民衆贊成stackoverflow運作:) – Pranav008

回答

1

我已經回答了在評論部分的問題,但上方仍然寫在這裏,以便它可以被接受(如PT所建議的) 如果您正在使用粒子編輯器,那麼有一個選項天氣可以設置此效果連續或不是。將連續設置爲真,問題就會解決。

@ P.T。你說得對。將從現在開始記住它:)