使用 PNG 图像的文件名来存储有关如何处理它的信息是一个坏主意吗?



我正在制作一个小游戏应用程序,允许用户手动加载纹理。一个这样的例子是一副标准的52张牌。

将处理信息存储为:

Card_79x123_53_53.png

在从文件对话框中获得文件名后,我将拆分下划线以获得以下信息:

  • 对象类型:匹配到列表
  • (w h)
  • 期望的对象数量(如果有尾空空间)
  • 额外信息(在这种情况下,面朝下的纹理相对于上面N的位置)当然,图像的尺寸提供了其余的内容。

处理过程中的任何错误都将被抛出,并且加载纹理的尝试将被拒绝。

这是一个坏主意,或者我应该继续玩弄它的原因吗?

最好询问用户如何通过在文件对话框中添加额外的控件来显式地处理图像,或者在提交文件对话框后显示另一个对话框。在这种情况下,从文件名中获取的信息可以用作提示,初步用值填充这些额外的控件,但用户将有机会纠正错误并填充缺失的内容。

这是一个坏主意,或者我应该继续玩弄它的原因吗?

这本质上类似于按文件扩展名编码文件类型。在文件名中编码文件元数据的唯一缺点是空间非常有限。如果您使用适当的PNG元数据字段或在单独的文件中,您可以编码更丰富的元数据。在文件名中编码元数据很难在新版本中使用新字段、可选字段等进行扩展。

例如,你可能会发现你想要各种各样的精灵表,其中每个帧都有不同的大小,所以你需要为每个单独的帧编码位置,大小,类名和序列号。

只要您不希望将来对许多其他元数据进行编码,就可以。

相关内容

最新更新