2012-04-16 80 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

相关问题