Libgdx ParticleEffect:没有错误,但没有绘制任何内容

时间:2012-04-16 07:03:19

标签: java libgdx

为什么这段代码不起作用。没有错误,但没有任何错误。

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();

4 个答案:

答案 0 :(得分:3)

如果你每帧都在创建一个新效果,它将永远不会移动或做任何事情,因为它会在每一帧重置。你应该在循环之外创建效果。

我不知道粒子效应如何没有设置。所以你也应该尝试添加一个纹理并设置它的首选项。

答案 1 :(得分:3)

我认为只为ParticleEffect创建构造函数是不够的,因此您必须使用以下面方式创建的效果对象加载粒子效果文件。你也必须把这个东西拿出来。

effect.load(Gdx.files.internal( “数据/ yellow_particle”),                 Gdx.files.internal( “数据”));

答案 2 :(得分:1)

在你班级的构造函数中制作粒子效果。每次在渲染方法中都不要制作粒子效果对象。这就是为什么,你的粒子效应每次都在初始化,你什么都看不见。

答案 3 :(得分: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();

可以从libgdx源复制Particle.png,例如: 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