PMDをUnityで読み込みたい(6) / UnityのC#スクリプトにおけるBinaryReaderのテスト

UnityのC#スクリプトにおけるBinaryReaderのテストしました
結果はうまくいきました


テスト方法は
●PMDをUnityで読み込みたい(4) / UnityのC#スクリプトにおけるFileStreamのテスト
http://d.hatena.ne.jp/kotori-22/20110913/1315869762
でやったのと同じ。


今回は書いたコードを下に載っける

                                                                                                                                • -


using UnityEngine;
using System;
using System.IO;
using System.Collections;

public class BinaryRead : MonoBehaviour {
public string arg1;

public void Main(){
using(BinaryReader br = new BinaryReader(File.OpenRead(arg1)))
{
try
{
for(;;)
{
char c = (char)br.ReadByte();
if(c!='\n'){
Debug.Log(c);
}
}
}
catch(EndOfStreamException)
{
Debug.Log("end");
}
}
}
}

                                                                                                                                • -

ネットで見つけたサンプルコードと殆ど同じですわね
表示が左詰になっちゃったけどご愛嬌


例によって、このBinaryReadスクリプトをドラッグ&ドロップして
テスト用オブジェクト"TestChan"に、コンポーネントとして追加した
上のコードを見ると、string変数arg1に値が何も入ってないけど無問題でした
これはTestChanのInspectorにおいて
追加したBinaryReadコンポーネントのところにあるArg1っていうプロパティを
UnityのGUIごしに直接書き込んでやればいい
(この部分の話は知ってる人にとっては当然以前の自然な話で全然問題に
ならないのだろうけど俺は結構わかんなかったので書いといた)


んで、InspectorからBinaryReadのArg1プロパティに"inputfile.txt"って書き込んだ
このtxtファイルの中身には"test"っていう半角英字列が書かれているだけ
あと、このファイル末尾には改行文字が入ってる
コイツをBinaryReaderでバイト単位で読み込んでいく
ループの各周で読んだ1バイトぶんのデータは、char型変数"c"に突っ込んどく
ナマのまま入れたら怒られたので、charキャストを被せといた


Debug.Logを使ってコンソールに読み込んだデータをchar型で表示していくと
ちゃんと
t
e
s
t
って見えた。オッケー成功です


ンーム。問題ない感じかしら
さて次はPMDファイル構造を調べねばね!


そんなわけでちょっと休憩