我正计划创建平板电脑应用。我会要求一些指导。
我有像this one这样的SVG格式的图片。
使用SVG很容易,您只需将填充参数更改为不同的颜色,但据我所知,没有简单/稳定的svg处理与libgdx一起使用。我仍然想使用svg文件为我的应用程序创建/存储图像。
com.badlogic.gdx.math.bezier
或多边形对象的svg路径/形状,然后在屏幕上绘制它们/获取此形状内的用户输入(点按)? 形状可以组合在一起,例如我希望房子里有两个窗口可以一次改变颜色。
答案 0 :(得分:9)
LibGDX的编写方式是它为您提供了一种较低级别的方式来进行此类渲染,但不提供现成的渲染SVG的方法。这实际上取决于你是否正在寻找具有性能的东西,或者只是想让它绘制基本的形状。
要简单地渲染形状,您可以使用ShapeRenderer之类的东西。这为您提供了一个非常接近Java2D绘制方式的接口。也许快速绘制一些基本的东西,这可能很方便。
如果您想要做一些更强大的渲染版本,您可能希望使用Mesh并使用着色器处理OpenGL ES。您可以在LibGDX tests中找到这些示例以及在线搜索示例/教程。
如果要将SVG转换为纹理,您需要查看Pixmap,然后可以使用它创建纹理并使用Spritebatch进行渲染。您需要使用Pixmap编写想要着色的像素。但是,这样做会生成一个非托管纹理(即,当用户在按下或将设备置于休眠状态后返回应用程序时,您将不得不重建它。)