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モードでは実行時に解決できるかもしれないという書き方では、エラーになるということですね。 というわけで無事解決したので、メモっておきます。 |