昨日は単純だと言っておきながら、罠にハマった。XML Socketは簡単なのだが、FLASH XMLオブジェクトのメソッド・プロパティが生産性の低いものばかりだった。 orz
送信用データの作成については、まだ目を瞑るとして、受信データの抽出の仕様には呆れてしまった。
何で上から順番に辿って取得しなきゃいけないんだ?しかも親→子で辿る分は気にしないが、記述順にずっと辿っていくのは情けない。(つまり親子関係の無いタグも辿っていく)折角タグに名前をつけることが出来るのに何故ダイレクトにデータを持って来れないのか。XMLの構造通りにデータ取得ルーチン書くなんてアホすぎ。まだ今日はチャット機能のみなのでまだ綺麗だが、全ての機能を実装した日にはとてつもなく費用対効果のないコードが出来る悪寒。こんな状態では仕様変更時のデバッグもやってられない事態に発展するので、書籍やネット調べました。
…が、どこも苦労しているようです。裏技でダイレクトアクセスできる方法が載っていましたがMXでは使えなかった(バグ技は保証なしってことです)。ゲームの仕様上、キーボード入力のなデータはチャットメッセージのみでそのほかは全てイベントメッセージなのでデータ用のタグにメッセージを入れ、それ以外のデータはタグの属性に突っ込みました。摂りあえずこれで処理コードの量は1/100位になったと思う。おまけに構造を気にする必要もなくなったので、生産性の低いコードと無駄パケットの嵐の2つを天秤に掛ける必要もなくなった。
これでMMOチャットは完成。ただキーボードイベントが変だったのでその処理を行って次はマウスイベントの方を実装します。キャラデザとBGMは11月後半かな。それまでにシステムだけは完成させよう。
予算と時間に余裕があれば11月末にSTUDIO 8を準備してエフェクターの恩恵を受けたいなぁ。
