http://blog.csdn.net/hpsoft/article/details/8227255
unity3d可以把游戏发布在很多游戏平台下,但unity3d在不同的运行平台下,本地文件路径是不一样的,这样给我们用给应用配置的本地文本文件的读取带来不小的麻烦,要要把不同的平台来写出不同的路径,特别是android 平台下就更麻烦了。
在网上转了很久,终于看到老外有个比较完美的解决办法,不敢独美,分享一下,其实很简单,就是写脚本的时候声明一个公共 TextAsset 类型变量;然后在可视化里把你要的文本文件拖进去就行了,呵呵很简单又很完美,完全不用考虑什么路径问题了
示例代码,随手写的,没测试过,但原理已经很清楚了
方法一
using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
public TextAsset asset;
void Start() {
print(asset.text);
}
}
然后把文本文件拖进 public TextAsset asset;里 调用就asset.text就可以了。
方法二
using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
void Start() {
TextAsset asset = (TextAsset) Resources.Load("filename", typeof(TextAsset));
print(asset.text);
}
}
然后把文本文件放到Resources目录里,调用Resources.Load() 方法就可以了,这里的文件名不需要写后缀名。
注意以上该去中的文本文件的后缀名必需是 .txt .html .htm .xml