Libgdx尾随烟花

时间:2014-03-20 07:31:40

标签: textures libgdx sprite

我正在与Libgdx合作并尝试制作烟花,随着像素的下降而留下痕迹。

每个render()步骤删除一个Pixmap对象,在其上绘制当前状态的烟花粒子,然后从该像素图创建纹理并在SpriteBatch上绘制,如下所示:

pixmap.setColor(0, 0, 0, 0); pixmap.fill(); pixmap.setColor(fireworks.red, fireworks.green, fireworks.blue, fireworks.alpha) for (int i=0; i<Constants.FIREWORKS_PARTICLES; i++){ pixmap.drawPixel(fireworks.x[i], fireworks.y[i]); } texture.draw(pixmap, 0, 0); batch.draw(texture, ...);

是否有一种有效的方法可以在添加新帧之前从之前的像素图绘制中获取所有像素并降低其alpha值(如果它低于某个阈值 - 使其为0),那么它看起来就像一个慢慢消失烟花背后的踪迹?

  • 有更多的动画内容,所以我无法做任何事情&#34; global&#34; (比如更改GL累加器值或使用glFramebufferTexture2DOES获取整个屏幕缓冲区)
  • 我已尝试迭代pixmap.getPixels() ByteBuffer(并且每隔4个字节更改一次),但它对我不起作用(猜猜不熟悉BytesBuffers使其打勾)
  • 有一个主题有关于绘制以前图像的alpha混合版本的建议,我已尝试过这种技术的几种变体,但无法找到如何减少旧图像上的alpha并将其混合当前批次(或纹理)。

非常感谢任何帮助(以及关于我选择绘制烟花的方式的一般想法)。

0 个答案:

没有答案