圆形纹理libGdx



我已经搜索了大约2个小时的答案,但还没有找到我想要的答案。我的问题是,是否可能,以及如何,绘制一个圆形的纹理,这样在圆形之外,纹理将是透明的,这甚至可能吗?

提前感谢!到目前为止,这个网站一直是一个很大的帮助!

最简单的方法是打开像Photoshop这样的程序,用alpha通道制作图像。这意味着:从一个完全透明的图像开始,在上面画一个圆圈。然后将其保存为.png

然后,您可以将其加载到游戏中,并使用SpriteBatch进行渲染。它(或者更好的是你的显卡)知道如何处理字母通道,并且会让除了圆圈之外的所有东西都完全不可见。

这样,您就不必在运行时操作任何像素图,也不局限于圆形等简单形状。

如果你想在圆圈中看到的纹理部分在执行过程中不会改变,最简单的方法是打开Photoshop,制作你想要的,将其导出为图像,然后将其加载到代码中的TextureSprite对象中。

但这也可以在运行时通过OpenGL使用Stencil测试来完成。如果圆圈中显示的部分在执行过程中必须是可变的,这是唯一的解决方案。

pixmap如果您的图像使用.png格式以外的格式,请使用此链接

除此之外,如果你使用的是png图像,那么只需绘制cirlce即可。圆圈外将保持透明。

最新更新