我目前正在尝试让粒子喷泉喷出覆盖在火山背景(纹理四边形)上的随机粒子。
我在 onDrawFrame 中有火山背景和粒子绘制语句
public void onDrawFrame(GL10 gl)
{
// Set the clear colour to red and clear the screen
gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
// Enable the vertex array client state
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
background.draw(gl);
// Draw then update the position of all particles
for (VolcanoParticle p : particleArray)
{
p.draw(gl);
p.update();
}
//background.draw(gl);
// Disable the vertex array client state before leaving
gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
gl.glDisableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
}
}
“background.draw(gl);” 意味着确实使用 VolcanoBackground.java 中的类,而 p.draw(gl); 旨在使用 VolcanoParticle.java。但是由于某种原因, VolcanoParticle.draw 也影响了 background.draw 导致背景也具有与粒子相同的运动和颜色变化/重力/运动。
关于如何解决的任何想法?
同样使用 background.draw 它使粒子很难看到,就好像在它们的顶部有一个黑色的裹尸布,有没有办法移除这个 alpha 层或者它是什么或者强制背景在粒子后面?