テクノモンキーのアプリ開発日記

テクノモンキーの開発ブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsやアプリ開発に役立つ情報を発信します。

【Unity】テキストファイルを読み込む方法

https://unity3d.com/files/images/ogimg.jpg?1

Unityでテキストファイルを読み込む方法に関するメモ。


Unityでテキストファイルを読み込む方法

まず、Unityでテキストファイルを読むためのテキストファイルをAssets/Resource/Scenarios/に配置します。
(Resource以下でもOK)
【Unity】テキストファイルを読み込む方法

そして、以下のようなコードを書けばテキストファイルから読み取ったテキストをUnity上で扱えます。

    //読み込んだテキストを入れる配列
    private string[] m_scenarios;

    void Start()
    {
        //テキストファイル名を指定(拡張子は入れない)
        ReadText("test");

    }

    void ReadText(string fileName)
    {
        var scenarioText = Resources.Load<TextAsset>("Scenarios/" + fileName);
        if (scenarioText == null)
        {
            Debug.LogError("シナリオファイルが見つかりません。");
            return;
        }

        m_scenarios = scenarioText.text.Split(new string[] { "\n" }, System.StringSplitOptions.None);
        Resources.UnloadAsset(scenarioText);
    }

上記では、読み込んだテキストデータを改行コード(\n)で分割しています。


注意点としては、「Resources.Load」でテキストファイルのファイル名を指定する際、最初「test.txt」と拡張子を含めて指定してみましたが、うまくテキストファイルが読まれなかったので、拡張子を含めずに記述する必要があるようです。


あと、.rtfのファイルも読むことができなかったので、読み込めるファイル形式のものを扱う必要があるようです。
TextAssetがサポートしているファイル形式は以下↓

.txt
.html
.htm
.xml
.bytes
.json
.csv
.yaml
.fnt

docs.unity3d.com