オワタ・エディタのコンパイル通し中

昨日のコンパイルエラーは、「amxmlcで読んでいるコンフィグファイルは"flex-config.xml"ではなく"air-config.xml"」であったために、ソースを持ってこれなかったのだと判明。「air-config.xml」の方も書き換えて解決。Airを作る気はないのにAirコンパイラやコンフィグを使うというのも変な感じだ。


しかし、またしても「〜flex_sdk_3\frameworks\locale\ja_JP\airframework_rb.swc$locale/ja_JP/collections.properties(13): col: 20 エラー:引数の数が正しくありません。0個以下であることが必要です。」という謎のエラーが出てしまう。いじったのはソースのパスなので、もしもそれが問題であるならば、前回OKだった「HelloWorld」みたいな細かいやつでもエラーが出るに違いないと思って試したら、やはりエラーが出た。
具体的にどのライブラリが問題だったのかはわからないが、不要なライブラリはSDK3からは外した。おそらくSDK2からSDK3への変更の影響で動かないライブラリがあったのだと思う。


これでなんとかコンパイルが通ったところまでは確認。特にコードはいじってないので動くだろうと思ったけど、「Play(実際にプレイヤーを動かしての確認)」と「Load(ステージのロード)」ができなかった(EditとSaveはできた)。よくよく考えれば上でSDK2からSDK3になったときに動かないライブラリがあったわけで、なんらかの対応がこちらでも必要なのかもしれない。


ひとまず、SDK2からSDK3への変更点を調べつつ、エディタではなくエンジン側の調査が必要。ということで、今週は動かすだけで終わりそう。動きさえすればYAMLでのデータのやり取りも一緒に完成すると思うけど。


と思って調べていたら、どうもYAMLのところで止まっている様子。そこを元に戻したら動いた。ということは、まだ自分がAS3YAMLをちゃんと使えてないのが問題か。久々だったので、データ形式とかどっかで間違えてるのかもしれない。これだけなら今週中に十分終わるはず。


Adobe Flash Player - Debug DownloadsからローカルのFlashPlayerを入れて実行確認してみたところ、YAMLのencodeで落ちてた。Objectの文字列としてUnicodeが混じっているのがいけないのか。そこらへんを詳しく調べてみる。(その前にNULLアクセスでエラーが出てたのが一箇所あったのでそっちも修正)


AAを英数字にしてみたら上手くいった。ということは、やはり「AS3YAMLではUnicodeが扱えない」ということなのか。もう少し調べてみるけど、扱えないんだったらどうしよう。英数字だけでもYAMLに対応すべきか、あるいはデータベースでやり取りする方向に早く進むべきか。基本的には後者のような気もするし、デバッグ用途とかを考えると前者もありだ。


今日はもう時間がないのでまた明日。