Я рисую спрайты, с спрайта, на экран. У спрайтов есть черный фон. Я бы хотел, чтобы черный, и только черный, был прозрачным, если это возможно. Итак, скажем, у меня красный фон. Тогда у меня есть спрайт, который имеет синий круг с черным фоном. Когда я рисую его на экране, я хочу видеть только синий круг (и, очевидно, красный фон). Вот код для моего текущего проекта. Помощь очень ценится!libGDX set color in sprite to transparent
public void render(float delta) {
Gdx.gl.glClearColor(1f, 1f, 1f, 1f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.setProjectionMatrix(camera.combined);
batch.setBlendFunction(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
batch.enableBlending();
camera.update();
generalUpdate();
batch.begin();
// Rendering Code
Assets.sprite_moon.draw(batch);
if (Assets.accelerated) {
Assets.sprite_flame.draw(batch);
}
Assets.sprite_rocket.draw(batch);
Assets.sprite_blue.draw(batch);
// End render code
batch.end();
batch.disableBlending();
}
Просто вопрос. Вам абсолютно нужна версия вашего спрайта с черным фоном? Если нет, вам нужно только стереть черную часть с помощью Photoshop или [Gimp] (http://www.gimp.org/downloads/) и сохранить новое изображение в формате PNG. В этом формате все «пустые» части вашего изображения будут прозрачными. – vdlmrc
Нет Мне не нужна версия спрайта с черным фоном, просто мой лист спрайта выглядит так: http://4.bp.blogspot.com/-ng26oRCJ4ko/UNwAXo3m7GI/AAAAAAAAAIs/wcckofUYn0Y/s1600 /Blocks+empty.png Я думаю, было бы проще во время выполнения, хотя, если бы я сделал изображение прозрачным в gimp (что я использую). –