0

我正在创建一个 android 游戏,我想将位置存储在外部文件中,以便我可以从代码中编辑它们。那么为什么不是 XML 文件,听起来不错。会有项目、位置等,并且会参考哪些纹理用于哪些对象。我真的找不到合适的方法来做到这一点。目前我只知道两种解决方案,但都有缺陷:

  1. XML 文件中的字符串值和方法 getIdentifiers(我听说这很慢)示例: getResources().getIdentifier( "namexxx" , "drawable" , this.class.getPackageName() );
  2. 使用 assets 文件夹并在没有 R 类的情况下手动加载纹理(这肯定会起作用,但我会失去根据设备的 dpi/分辨率自动选择可绘制对象的美感)

有人知道这样做的更好方法吗?

4

1 回答 1

0

在我参与过的一些更大、更广泛的游戏中,我见过这种方法

  • 在安装应用程序时,计算此设备需要的资产类型。
  • 这可以是屏幕密度、尺寸等的计算,也可以只是从在线表格中查找非常特定的流行设备,如 Nexus 7。
  • 为您的游戏下载该设备的正确资产包。

这具有多个优点。

  1. 小应用程序大小和快速下载
  2. 仅在您的设备上存储您需要的资产(在大型游戏中,“必需品”可能是 100 兆字节)
  3. 无需针对您需要的资产进行运行时计算。

所以...您需要: - 一个可以安全下载的站点。
- 一个配置文件,可帮助您解码设备所需的数据,以及可以无限期更新的数据 - 多个资产包。

这是我推荐的“高水平”。

于 2013-08-07T02:35:14.970 回答