我想在foreground
纹理上叠加background
纹理。除了这两个纹理,我还有一个mask
指示前景的哪些部分应该是透明的。这是我尝试过的:
// Initially, the mask should have an alpha of 1
Pixmap mask = new Pixmap(128, 128, Pixmap.Format.Alpha);
// Cut a rectangle of alpha value 0
mask.setColor(new Color(0f, 0f, 0f, 0f));
mask.fillRectangle(0, 0, 32, 32);
// Load the foreground. The foreground should the same alpha values
// as the mask. If the mask has an alpha value of 1, then the foreground is
// visible. If the mask is 0, then the foreground is invisible.
Pixmap fg = new Pixmap(Gdx.files.internal("foreground.png"));
fg.drawPixmap(mask, fg.getWidth(), fg.getHeight());
Texture foreground = new Texture(fg);
Texture background = new Texture("background.png");
不用说,结果不是我想要的。我应该更改什么,以便在蒙版的 alpha 值为 0 的地方可见背景,而在蒙版的 alpha 值为 1 的地方可见前景。