Windows phone 7 在WP7中实现资源列表

Windows phone 7 在WP7中实现资源列表,windows-phone-7,resourcebundle,Windows Phone 7,Resourcebundle,我正在将一个JAVA游戏移植到WP7。我们的游戏中有很多图像,要在JAVA中加载它们,请使用类似于“Resources.getImage(IMG_-BULLETS);”的函数,其中IMG_-BULLETS是图像的ID(int) 但是在WP7中,我们必须传递图像的路径(一个字符串)才能加载它 现在我的问题是: 如何实现int字符串映射?这样我就不必手动将Id更改为路径 我想到的一个可能的解决方案是使用一个包含图像路径及其Id的.txt文件,并对其进行解析。但我相信他们的解决方案会更好 注意:我

我正在将一个JAVA游戏移植到WP7。我们的游戏中有很多图像,要在JAVA中加载它们,请使用类似于“Resources.getImage(IMG_-BULLETS);”的函数,其中IMG_-BULLETS是图像的ID(int)

但是在WP7中,我们必须传递图像的路径(一个字符串)才能加载它

现在我的问题是:

  • 如何实现int字符串映射?这样我就不必手动将Id更改为路径
我想到的一个可能的解决方案是使用一个包含图像路径及其Id的.txt文件,并对其进行解析。但我相信他们的解决方案会更好


注意:我们还有一个用于图像和其他文件的多级文件夹结构。

如果您真的想通过int引用资源,您必须将它们映射到它们的路径。据我所知,没有办法抓取您的资产,即使您可以,我也怀疑您是否会获得相同的索引顺序,并且您将不得不重做枚举

在尝试移植和代码更改时会遇到一些障碍。另一个(即使使用txt文件,您仍然可以使用它)是contentManager.Load采用一种类型,例如,
contentManager.Load('path')
返回纹理2D

一个选项是创建您自己的单例“资源”类,该类具有get方法,这些方法使用int来获取适当的资产,但是您仍然需要通过某种xml或txt文件进行映射。然而,这将需要从一开始就加载所有资产,这是它们自身的更多问题(90mb内存限制和很长的加载时间)


我的建议是查看的游戏开发部分,并查看,以帮助您了解如何构建游戏,以便与XNA配合使用。

感谢您的及时回复。井返回类型不是问题,因为我已经实现了绘图部分。是的,用xml/txt映射编写“Resources”类可以是一个解决方案,但我觉得这并不意味着您必须在一开始就加载资源。我会在需要的时候加载它。如果我遗漏了什么,请纠正我。好吧,这取决于你如何实施它。如果加载映射并在Content.load()中使用映射结果,则可以根据需要执行映射。这将提供更大的灵活性。当我最初考虑这个问题时,我认为您可能会在解析xml的过程中加载所有资源,这将是一个问题。不幸的是,这并没有消除对手动映射资源的要求。是的,我想映射必须手动完成。将为此编写一些脚本:)