SpriteBatch.setBlendFunction()对Android没有任何影响

时间:2012-11-02 10:54:53

标签: android opengl-es-2.0 libgdx blending spritebatch

我正在使用libGDX框架开发Android游戏。 我有三个图像 - 背景,前景和一个面具。以下是使用蒙版在前景图像上显示背景图像的一部分的渲染代码:

Gdx.gl20.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.enableBlending();
batch.begin();
batch.setBlendFunction(<params1>);
batch.draw(bgTex, bgTexX, bgTexY, bgTexW, bgTexH);
batch.setBlendFunction(<params2>);
batch.draw(mask, maskX, maskY, maskW, maskH);
batch.setBlendFunction(<params3>);
batch.draw(fgTex, fgTexX, fgTexY, fgTexW, fgTexH);
batch.end();

它适用于桌面(ubuntu 12.04),但它不适用于我试过的任何Android手机/平板电脑(它们都支持Opengl Es 2.0)。 在Android设备上混合会出现什么问题?

1 个答案:

答案 0 :(得分:0)

在您的Android项目文件中,您使用

AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.useGL20 = true;        
initialize(new MyGdxGame(), cfg);

如果App配置未设置为允许使用GL20,它将忽略对GL20对象的所有调用。默认值(如果未明确设置)为false。