16

我打算创建平板电脑应用程序。我会要求一些指导。

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

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

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

形状可以组合在一起,例如我想让房子里的两个窗户同时改变颜色。

4

1 回答 1

9

LibGDX 的编写方式是它为您提供了一种较低级别的方式来进行这种类型的渲染,但不提供开箱即用的方式来渲染 SVG。这实际上取决于您是在寻找具有性能的东西还是只是希望它绘制基本形状。

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

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

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

于 2013-03-14T20:39:28.597 回答