AS2.0でもランタイムエラーをチェック
ランタイムエラーはActionScript3.0だけだと思っていたのですが、それ以下のAS2.0や8以下のswfバージョンでパブリッシュしても警告は表示されるのですね。警告はデバッグプレイヤーにて確認できます。
簡単なスクリプトで実験してみました。
ActionScript 2.0 のランタイム警告を実証
ステージに何も配置しない状態で、ないはずのインスタンス(下の図ではmc)を参照します。(AS2.0/Flash MX 2004で記述/バージョン7でパブリッシュ)
Flash Tracerを入れたFirefoxで再生してみると、何らかの警告が出て来ているのが分かります。
※Flash Tracerの「Display Warning」にチェックしている必要があります。
S-JISで出力されているため文字化けしています。所定の場所にあるログファイル「flashlog.txt」を適当なテキストエディターで開いてみると次のように出力されているのがわかります。
--- Flash Debug Test Start --- 警告 : 宣言されていない変数を参照しています 'mc'
あなたのSWFももしかしたら
Flash Tracerで世の中のいろいろなフラッシュを見てみると、このワーニングがでまくりです。例えば次のようなものです。
- 警告 : 宣言されていない変数を参照しています 'fader_mc' //←タイムラインに配置される寸前で呼び出してました!
- 警告 : 'Stage' にはプロパティ '_height' がありません //←ごめんなさい!
- 警告 : onHTTPStatus は関数ではありません //←コンポーネントの警告?
- 警告 : ドメイン ○○○.▽▽▽.com にはメタポリシーが指定されていません。デフォルトのメタポリシー 'all' を適用しますが、この設定は推奨されていません。この問題の解決方法については、http: //www.adobe.com/go/strict_policy_files_jp を参照してください。 //←話題の9.0.124の警告ですね。
AS3.0(with Strirct Mode)だとアラートがでるので対処しなければなりませんが、AS1/2時代に作られたコンテンツはこのような警告はでなかったので、開発者は気に留める事がなかったのです。
Flashは表現のツールという観点から考えれば警告は無視していい気もしますが、自分の作った物が警告だらけなのはなんだか気持ち悪いですね。一度デバッグプレイヤーで見てみてはいかがでしょうか?