強火で進め

このブログではプログラム関連の記事を中心に書いてます。

ファイル保存用のパネルを表示してテキストファイルを保存する方法

【サンプルの動作】

Assetsのパネルで右クリック
  ↓
「Save Text File」を選択
  ↓
ファイル保存用パネルが表示
  ↓
指定したファイル名でテキストファイルが作成される
※ファイルの中には ABC というテキストが入っている。


JavaScriptプログラム】
以下のプログラムを Edtior というフォルダを作成し、その中に保存して下さい。

import System.IO;

@MenuItem ("Assets/Save Text File")
static function SaveTextFile(){
	var str : String = EditorUtility.SaveFilePanel("Save Text...", Application.dataPath, "Test", "txt");
	if (str.Length != 0){
		var b : byte[] = new byte[3];
		b[0] = 0x41; // A
		b[1] = 0x42; // B
		b[2] = 0x43; // C
		File.WriteAllBytes(str, b);
	}
}

ここでは文字コードで配列bにA,B,Cを設定していますが以下の様な書き方も可能です。

		b[0] = "A"[0];
		b[1] = "B"[0];
		b[2] = "C"[0];

バイナリデータでは無く、テキストデータを保存する場合は File.WriteAllText() を使用。

		File.WriteAllText(str, "hogehoge");

関連情報

Unity Script Reference – EditorUtility.SaveFilePanel
http://unity3d.com/support/documentation/ScriptReference/EditorUtility.SaveFilePanel.html