我正在将一个JAVA游戏移植到WP7。我们在游戏中有很多图像,并且在JAVA中加载它们使用类似这样的函数“Resources.getImage(IMG_BULLETS);”其中IMG_BULLETS是图像的ID(int)。
但是在WP7中我们必须传递图像的路径(字符串)才能加载它。
现在我的问题是:
我想到的一个可能的解决方案是使.txt文件具有图像路径及其Id和解析。但我相信他们的解决方案要好得多。
注意:我们还有图像和其他文件的多级文件夹结构。
答案 0 :(得分:0)
如果你真的想通过int引用资源,你将不得不将它们映射到路径上。据我所知,没有办法抓取你的资产,即使你可以,我有点怀疑你会得到相同的索引顺序,你将不得不重做你的枚举。
尝试移植和编码更改时,您会遇到一些障碍。另一个,(即使你有一个txt文件也可以使用)将是contentManager.Load采用一种类型,例如,contentManager.Load<Texture2D>('path')
返回一个Texture2D。
一种选择是创建自己的单例'Resources'类,它具有获取相应资产的int方法,但是仍然需要通过somekind的xml或txt文件进行映射。但是,这将要求从一开始就加载所有资产,这些资产本身就存在更多问题(内存限制为90mb,加载时间非常长)。
我的建议是查看App Hub的游戏开发部分并查看game state example,以帮助您了解如何构建您的游戏以便与XNA良好协作。