前回にひき続きパブリッシュ設定を確認していこう。まず、SWFの設定に関するFlashタブ、HTMLの設定やFlashを出力するタグのオプション設定を行うHTMLタブについてだ。そして、最後に紹介するswfobjectは、HTMLを修正することができる人には是非覚えて貰いたい、Flashのバージョンに関わらず使用できるテクニックだ。それでは、Flashタブで注意すべき項目について解説していこう。
「Adobe CS5」体験版はこちらから
Flashタブ
Flashタブで設定する項目はSWFの内容になる。Flashのバージョンだけでなく、JPEG品質などの詳細が設定できるが、今回取り上げた以外は、初期設定のままでも良いだろう。気になるときは、Flashのへルプで確認しておこう。
図のなかで番号をつけた3つの項目について解説した。
(1)Playerとスクリプト
対応するFlashPlayerのバージョン。ここは、何もしなければ、最新バージョンに設定されるが、好きなバージョンを指定することができる。バージョンが低いほど、見ることができる人も多いが、そのバージョン特有の機能を使っている場合には、無闇にバージョンを下げることはできないので、使用している機能がどのバージョンから有効なのかを把握しておく必要はある。ActionScriptには、バージョン1.0~3.0まである。Playerのバージョンと密接な関わりを持っているので、きちんと把握しておこう。ちなみに、新規ファイル作成時に尋ねられるバージョンは、ここで変更を上書きできる。
(2)Traceアクションを省略
Traceアクションとは、Flashでムービープレビュー中に変数の中身などを表示するtrace()というActionScriptコマンドのこと。これ自体は、テキストを出力ウィンドウに出力するだけなので誤動作の原因にはならないが、SWFの再生速度に大きく影響することがある。実際のところ、制作中にはムービープレビューなどで頻繁に使用して動作チェックに利用しても、最終パブリッシュでは無効にすべきだが、ひとつずつコメントアウトしていては大変な作業になるので、trace()そのものを一括で無くすことができる機能がこれにあたる。Traceアクションを省略していないSWFは、動作が遅くなることもあるので注意しよう。なお、ムービープレビューでもパブリッシュ設定が有効になるため、ここをチェックしたままだと、trace()結果が見たいのに何も出力されないということもある。そのときは逆にチェックをはずそう。
(3)ローカルでの再生に関するセキュリティ
Flashをローカル(デスクトップなど)においたまま、ブラウザで再生すると、URLジャンプなどのネットワーク処理が発生するとセキュリティアラートが出てしまう。これは、そのFlashがネットワーク処理をするように許可されていないからだ。ここの選択肢として「ローカルファイルにのみアクセスする」と「ネットワークにのみアクセスする」があるので、後者の「ネットワークにのみ…」を選択すれば、ネットワークに関するセキュリティアラートは出ない。ただし、同じローカルにあるxmlファイルやイメージを読み込むことができなくなる。この複雑な問題を避けるためには、Webにアップロードしてから確認するのがベストだろう。その時には、どちらの設定で書き出しても大丈夫だ。
HTMLタブ
HTMLタブでは、出力するHTMLに関する設定を行える。
特に、HTMLの出力では「Flashのバージョンを検出」という項目をチェックすると、バージョンチェックが通らないとFlashが表示されないようなJavaScriptが出力される。
パブリッシュ
パブリッシュボタンはどのタブから実行しても良い。また、[ファイルメニュー]-[パブリッシュ]でも同様だ。パブリッシュ後、さらに出力されたHTMLを「Dreamweaver」やテキストエディタなどで開いて代替画像とメッセージを表示するように変更を加えることもできる。
swfobject
Flashプラグインの有無や、バージョンのチェックをするものに、swfobjectというJavaScriptライブラリがある。swfobjectの優れているところは、条件(プラグインの有無やプラグインバージョン)に一致しないときは通常のHTMLを表示し、条件に一致したときのみFlashを表示することだ。Flashコンテンツ(SWF)は動的に埋め込まれるため、JavaScriptそのものが動作しない環境でも、代替イメージ(図の右下)が表示されることだ。
「CS5」のユーザーはFlashに備わっているCS5のパブリッシュ設定のHTMLタブにある「Flashのバージョンを検出」にチェックを入れるだけだ。しかし、「CS4」のユーザーはパブリッシュではswfobjectを利用できないため、次回の記事を参考にして欲しい。
今回使用したswfobjectは、すでにバージョンアップが行われており、swfobject2となっている。基本的な機能は変わらないが、使用するコマンドなどが大きく変わった。そこで、次回はswfobject2の具体的な記述使用方法を紹介しよう。また、CS5以外のユーザーにも利用して貰えるので楽しみにして欲しい。
伊藤のりゆき(NORI)
有限会社トゴル・カンパニー代表。ロクナナワークショップ講師。Flashアクセシビリティを得意とし、ライターとしてFlash関連書籍や雑誌記事の執筆を行うほか、AdobeTVでも解説。共著の「ActionScript3.0辞典」が発売中。また、先頃、写真家として初の写真集「Snap or Nothing写真集」(iTunes AppStoreにて)が発売された。内容のリクエストはTwitter(nori_togoru)まで。