2012-04-16 79 views
1

爲什麼不能使用此代碼。沒有錯誤,但沒有任何跡象。Libgdx ParticleEffect:沒有錯誤,但沒有任何繪製

render方法包括:

effect = new ParticleEffect(); 
    effect.setPosition(200, 200); 
    effect.start(); 

    float delta = Gdx.graphics.getDeltaTime(); 
    GL10 gl = Gdx.app.getGraphics().getGL10(); 
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 

    spriteBatch.begin(); 

    effect.draw(spriteBatch, delta); 

    spriteBatch.end(); 

回答

3

如果要創建一個新的效果每一幀,它永遠不會移動或做任何事情,因爲它會重置每幀。你應該在循環之外創建效果。

我不知道particleeffect怎麼會沒有設置。所以你也應該嘗試添加紋理並設置它的偏好。

+0

我不能幫助你,除非你用英文寫。 – Matsemann 2012-04-16 19:20:46

3

我覺得只有創造構造函數ParticleEffect不足以,所以你必須使用你已經通過以下方式創建效果對象加載粒子特效文件。你也必須把這個東西帶出循環。 Gdx.files.internal(「data/yellow_particle」), Gdx.files.internal(「data」));

1

在你的類的構造函數中產生粒子效果。不要每次都在渲染方法中製作粒子效果對象。那就是爲什麼,你的粒子效果每次都在初始化,而你看不到任何東西。

1

運行一次:

effect = new ParticleEffect(); 
effect.load(Gdx.files.internal("path/to/your/particle.p", "directory/with/your/particle/png")); 
effect.setPosition(200, 200); 
effect.start(); 

運行呈現:

spriteBatch.begin(); 

effect.draw(spriteBatch, delta); 

spriteBatch.end(); 

而且在配置:

effect.dispose(); 

Particle.png可以從libgdx來源複製例如: https://github.com/libgdx/libgdx/blob/master/extensions/gdx-tools/assets/particle.png

而且看一次視頻教程 - 你搞亂和缺少很多東西: http://www.youtube.com/watch?v=LCLa-rgR_MA

本身佔地少事物的教程,不是視頻,而是粘貼這裏希望它會被更新: https://github.com/libgdx/libgdx/wiki/2d-particle-effects

相關問題