実行時に外部ファイルからデータを読み込みたい場合のTips
実行環境がUnityEditor(=ローカル)か独立したアプリケーション(=オンライン)かの区別は、Application.isEditorで行う。
ローカル実行の場合は、ファイルURLの先頭に"file://"をつける。
if (Application.isEditor) url = "file:///" + Application.dataPath + @"/" + transform.gameObject.name.Replace(" ", "_") + ".ini"; else url = Application.dataPath + @"/" + transform.gameObject.name.Replace(" ", "_") + ".ini"; Debug.Log(url); WWW request = new WWW(url); yield return request;
Editor実行の場合、Application.datapathは、Assetフォルダへのフルパスを指す。たとえば、プロジェクトパスが、D:/_project/unity/roadsim/の場合、Application.datapathは、
D:/_project/unity/roadsim/Assets
となる。
Windows上でEXEファイルを実行する場合のApplication.datapathは、実行(EXE)ファイルと同レイヤーにある、実行ファイルと同名のアプリケーションフォルダであることに注意。
テキスト操作の小技として、ある文字列の特定の文字Aを別の文字Bに置き換えるには、
gameObject.name.Replace("文字A","文字B")
を使う。