うむるむ

うむるむ はユーザー様にとって中途半端に役に立ち、また、ほとんど身の無い話題、情報を提供することがまれにあります。



[ AS3 ] AS2 を AS3 に書き換える作業でややハマる - 08/08/25 17:50

ハマるって言っても時間食ってしょうがないレベルの話。
ある案件でAS2で書かれたコンテンツをAS3に書き換える必要があった。それはクラスも使ってないし、ほぼ全てのスクリプトが1フレームに書いてあって、それも大した量じゃなかったので、とりあえずアンダーバーを削除するとかプロパティ名の修正をした。
あとは実行して見つかったバグを潰して行こうと思って
パブリッシュしたら

TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。

の嵐。
原因はすぐ分かったんだけどね。
原因の例が下の様な感じ。

//AS2
gotoAndStop(2);
trace(_mc._x);

これは、2フレーム目に _mc ってムービークリップがある状態(1フレーム目の時点ではまだ無い)。
AS2だと問題なくx座標をトレースしてくれるんだけど、AS3だとそうはいかない。

//AS3
gotoAndStop(2);
trace(_mc.x);

プロパティ名のアンダーバーの有無以外は全く同じ。
AS3だとこれでさっきのエラーが出る。 trace(_mc) とすると見事に null が返ってくる。

原因はすぐに分かったんだけども、この構造になってる箇所が多くて修正に時間がかかった。結局、修正するというよりはクラスも使って作り直してしまった。地味に時間がかかって気分が乗らない作業でした。

« [ AS2 ] 「最初のフレームに書き出し」しない時って | ブログトップ | [ 雑記 ] 今週は割とヒマ »

トラックバックURL :

コメント投稿

名前:
コメント:



管理人 um(うむ)@web界の名もなき底辺労働者
サイト うむるむ http://umroom.com/
連絡先 umroom@gmail.com