为什么这段代码不起作用。没有错误,但没有任何错误。
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();
答案 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