AIRやFLASHなどを表示するのに不便なので、ブログから自作サイトに移転します。

N2-Works移転先

今後はこちらで更新を行っていきます。


AVM1Movieクラスが本当に単純なSWFの実行しかできないのが分かり、ノベルゲームエンジンに実装するには厳しいことが分かりました。


そんなわけでActionScript3.0環境でもMovieClipクラスへキャストできるように、オーサリングツールを「Flash CS4」に変更することにしました(といっても体験版ですが)。


早速、Flash8で作成したロゴSWFを移植することにしたのですが、Flash8で作成したSWFは当然ActionScript2.0なので3.0に書き換えないといけません。


ところが文法を3.0に書き直しても発生するエラーがあります。


メインタイムラインのフレームアクションで定義している自作クラスのインスタンスが、MovieClipシンボル内のタイムラインから参照できないのです。


色々調べてみると、どうもコンパイラがStrictモードになっているのが原因らしいです。


こちらのサイトでその原因が詳細に書かれていました。


rootプロパティでメインタイムラインの関数にアクセスできない

by FumioNonaka.comさん


要するにエラー発生時期をSyntaxエラーを発生させるかRuntimeエラーで発生させるかの違いということです。


Strictモードでは実行時に解決できるかもしれないという書き方では、エラーになるということですね。


というわけで無事解決したので、メモっておきます。