我一直在寻找约2个小时的答案,但我找不到我想要的答案。我的问题是,绘制圆形纹理是否可行,以及如何在圆形外部,纹理是透明的,甚至可能吗?
提前致谢!到目前为止,该网站提供了很大的帮助!
答案 0 :(得分:4)
最简单的方法是打开像Photoshop这样的程序,并使用alpha通道制作图像。这意味着:从一个完全透明的图像开始,并在其上绘制一个圆圈。然后将其另存为.png
然后您可以在游戏中加载它并使用SpriteBatch
进行渲染。它(或更好的你的显卡)知道如何处理alphachannel并将保持除圆圈之外的所有内容完全不可见。
这样您就不必在运行时操作任何像素图,也不仅限于像圆圈这样的简单形状。
答案 1 :(得分:2)
如果要在圆圈中看到的纹理部分在执行过程中无意更改,最简单的方法是打开Photoshop,制作所需内容,将其导出为图像,然后将其加载到{{ 1}}或代码中的Texture
对象。
但这也可以在运行时通过OpenGL使用 Stencil 测试完成。如果在执行期间必须可以改变圆圈中显示的部分,则这是唯一的解决方案。
答案 2 :(得分:1)
pixmap如果你的图片使用的不是.png格式,请使用此链接
如果您正在使用png图像,那么只需绘制cirlce即可。圈外将保持透明。