Serializableはうまくいく

最近はマルチは『Halo3』、オフラインは『ライデンファイターズエイシズ』のデモか『トリガーハートエグゼリカ』というゲーム生活。

エグゼリカ』はもう少しでノーマルワンコインクリアできるんですが、まだまだ努力が足りてない。

4面の後半はだいぶうまくなってきてますが、やはり1ボムは確実に使用してしまいます。

それ以上に4面ボスが苦手。5面のフェインティアの方が楽だ。

『ライデン?』前にはワンコインクリアしたいところなんですがねぇ…。

昨日の追記を書いた後にSerializeを試してみました。

結果は成功。派生クラスではまだ試していませんが、大丈夫なんじゃないかと。

方法はやっぱりMemoryStreamを使う。

MemoryStreamに対してBinaryFormatterでSerializeして、MemoryStream.GetBuffer()メソッドでbyteを取得してこれをWriteObject()で出力。

読み込みの際はMemoryStreamのコンストラクタにReadObject()で取得できるbyteを渡して、これを利用してDeserializeすればOK。

もちろんこの方法はバイナリ出力側と入力側のオブジェクトが一致していないとアウトです。

ただ、これで弾幕ツールをXNA上で動かすこともできるかも。まあ、重そうだけど。

そのうち試してみようと思います。その前にもう少しXNAの勉強をしますが。

そういえば、シェーダ関係のサンプルはXNAでやっても問題ないんでしょうか?

やめて欲しい人がいるのであれば今までどおりC++でやりますが。