2012-04-09 7 views
6

старые игровые движки обозначают первый цвет палитры изображения как прозрачный цвет. есть ли способ сделать то же самое с libGDX?libGDX: обработать первый цвет в палитре как прозрачный цвет

Я попробовал загрузку изображения и заменил первый цвет палета на 0x00000000. однако, поскольку пиксели либо непрозрачны, либо прозрачны, мне не нужны альфа-значения, поэтому я мог бы сэкономить много памяти, используя RGB888 вместо RGBA8888. Я просматриваю документацию gdx и opengl для других вариантов смешивания и обнаружил функцию Gdx.gl20.glBlendColor и функцию setBlendFunction от SpriteBatch. но они меняют только значения, используемые в уравнениях смешивания.

заранее спасибо :)

+0

Я не знаю способа сделать это, и я не совсем уверен, почему тебе нужно. Я думаю, что большинство графических поверхностей 32-битные, поэтому даже если вы загружаете 24-битные изображения, они просто будут преобразованы. Вероятно, лучше всего использовать RGBA8888, если вы не закончили _actually_ нехватку памяти. –

ответ

3

рисовать textureRegion прозрачно использовать процедуру так:

Color c = batch.getColor(); 
    batch.setColor(1, 1, 1, alpha); 
    batch.draw(....); 
    batch.setColor(c); 

 Смежные вопросы

  • Нет связанных вопросов^_^