2012-11-13 135 views
0

我想从精灵中移除颜色键。在这种情况下,我的精灵背景是紫色的。我曾尝试使用spritebatch setColor()函数,但将整个屏幕转换为sprite的背景色。有没有人有解决如何删除颜色?删除精灵颜色键libGDX

感谢所有帮助

回答

2

我不认为libGDX(或OpenGL ES)支持 “色键” 的透明度。据我所知,每个人都只是在图像中使用alpha(透明度)通道。 (除了红色,绿色的蓝色,每个像素都有一个alpha值代表其透明度。)

如果您在离线工具中删除背景色并保存包含透明度信息的图片,您应该没问题。 (我相信这是大多数现有的libGDX应用程序所做的。)

或者,您可以在运行时通过定义着色器来将colorkey像素转换为透明像素。

+0

我已经从Paint.Net中的图像中删除了背景。我在做Slick2D的时候总是这样做,它总是运行良好,但由于某种原因,它不能与libGDX一起工作。 – Crispy91

+0

我很困惑。背景是否紫色?您是否以保存透明度的格式保存图像?如果您的图像与透明度信息(即,Alpha通道)一起存储,那么您在渲染时遇到问题。混合应该默认启用,但... –

+0

对不起。我应该更清楚。我在创建精灵时所做的事情是,我将背景设置为紫色,绘制精灵,然后使用魔棒工具移除紫色背景。然后保存并将精灵导入我的资产文件夹以供游戏使用 – Crispy91