【发布时间】:2018-01-21 18:53:03
【问题描述】:
我正在使用 LibGDX 库(来自 badlogicgames)创建游戏,但我对自己的 sprites 产生了一些疑问。
为了支持不同的屏幕尺寸,我们通常会创建 4 或 6 个不同尺寸的图像。我想知道使用像 .SVG 文件这样的矢量图像是否有用。
以编程方式获取 SVG 文件,获取屏幕尺寸,然后根据屏幕尺寸创建适当的 PNG 文件是否明智?
如果唯一的问题是性能,那么差异是否太大?也许在应用程序开始时创建所有 PNG 图像需要 3 或 4 秒,但对于正向图形会更好。
我听说过 batik 可以实现这一点,有人试过吗?
有没有人有这方面的经验可以帮助我?
【问题讨论】:
-
Android 支持库现在支持矢量图像。该库缓存图像,因此它们只转换一次。文档确实指出,由于内存问题,它只能用于相对较小的图像。
-
@lionscribe Android 支持库不支持 SVG 文件。它支持 VectorDrawables,它们是不一样的。 SVG 文件的子集可以转换为 VectorDrawable 文件。
-
正确。我想要的最重要的一点是注意到的内存问题。全尺寸图像会占用您的内存。一个简单的想法是,您在第一次运行时将图像文件保存到缓存文件中,这样您通常不必再次创建它们,内存中也没有大图像。
-
您有在应用程序缓存中保存 PNG 文件的教程吗?
标签: java android svg png batik