将SVG文件与libgdx一起使用

tes*_*one 14 graphics svg android libgdx

我正在计划创建平板电脑应用程序.我会要求一些指导.

我有像这样的 SVG格式的图片.

使用SVG很容易,你只需将填充参数更改为不同的颜色,但据我所知,没有简单/稳定的svg处理与libgdx一起使用.我仍然想使用svg文件为我的应用程序创建/存储图像.

  • 你会推荐什么处理路径?
  • 是否有一种简单的方法来转换svg路径/形状com.badlogic.gdx.math.bezier或多边形对象,然后在屏幕上绘制它们/获取用户输入(点击)这个形状?
  • 或者我应该使用不同的对象/路径?

形状可以组合在一起,例如我希望房子中的两个窗口一次改变颜色.

Jyr*_*117 9

LibGDX的编写方式是它为您提供了一种较低级别的方式来执行此类渲染,但不提供用于渲染SVG的开箱即用方法.这实际上取决于你是在寻找具有性能的东西还是仅仅想要它来绘制基本形状.

要简单地渲染形状,您可以使用ShapeRenderer之类的东西.这为您提供了一个非常接近Java2D绘制方式的接口.也许快速绘制一些基本的东西,这可能很方便.

如果您想要做一些更强大的渲染版本,您可能希望研究使用Mesh并使用着色器进行OpenGL ES.您可以在LibGDX测试中找到这些示例,也可以在线搜索示例/教程.

如果你想将SVG转换为纹理,你需要查看Pixmap,然后你可以用它创建一个纹理并用Spritebatch渲染.您需要使用Pixmap编写想要着色的像素.但是,这样做会生成一个非托管纹理(即,当用户在按下或将设备置于休眠状态后返回应用程序时,您将不得不重建它).

  • 谢谢。我认为我不需要太多速度 - 但如果我理解正确 ShapeRenderer 不允许绘制贝塞尔曲线?用不同的颜色轻松填充这些形状也很重要 - 所以像素图可能没那么有用?现在我只需要知道网格是否可行:) (2认同)