フラッシュを使うなら
今やマクロメディア社が開発したフラッシュも、インターネット上では不可欠なツールの一つとなっており、わが「ハリウッド最前線」のフラッシュ版予告編も右の画像をクリックしていただくとご覧いただけます。こうしたムービーがフラッシュ本来の用途である一方、最近は従来のアニメーションgifを発展させたような使い方が増えてきました。
つまり、フロント・ページ(あるいはホーム・ページでもオープニング・ページでも呼称がどうあれ最初のページ)やバナーへさり気なく使い、なおかつ普通の電話回線を使っている読者にも耐えられるファイルの軽さ
いくらブロードバンドが普及しようと、まだまだ電話回線でインターネットへ接続している人は少なくありませんが私個人としては好きです。フラッシュが普及し始めた当初、さっそく試作ムービーで実験はしながらも、ローディングの待ち時間が嫌で「ハリウッド最前線」へはしばらく取り入れないままでした。しばらく経って気が変わったのは、ムービーの概念を捨て、バナーでフラッシュを使い始めてからです。それがフロント・ページに発展し、ようやくムービーへ至ると、私の場合は順序が少し違っていたおかげで肝心な時にマニュアルはほとんど役立たず、自分で工夫せざるを得なかったことが、いい経験となっています。
バナーといえば、「聖林写真館」が好例で、バナーを作成する時は各女優の瞼を閉じた画像と閉じる過程の画像をCGで描くのが第1ステップです。たとえば、旅行記「昼下がりのピカデリー・サーカス(上)」でレスリーの写真を瞬(まばた)きさせた時は、まず次の4コマのうち左端のオリジナルを除く3コマをCGで描きました。
そこで、これらを旅行記のアニメーションgifでなくフラッシュを使って「聖林写真館」のバナーと同じパターンで作成するとどうなるか、いちど試してみましょう。作成の手順はごく基本的なテクニックしか使っていませんから、マニュアルを参照して下さい。出来上がると次のような具合です。ファイル容量がわずか22キロバイトと、たとえ通常の電話回線でインターネットへ接続していようと一瞬で表示されます。「聖林写真館」のバナーはどんどん女優の数が増え続け、今や500キロバイトを超えてしまいましたが、そこは「ストリーミング」の強さです。
フラッシュの「ストリーミング」機能のおかげで、フラッシュ・ファイルはダウンロードをしながら表示されます。したがって、他の画像ファイルのようにダウンロードを終えるまで見られないということがなく、少々重いフラッシュ・ファイルを普通の電話回線で表示する場合も、さほど苦になりません。
ただ、注意しないと、この「ストリーミング」がムービー本来のイメージを台無しにすることもあるのです。もし、右のレスリーのフラッシュ・ムービーを瞬(まばた)きは繰り返さず、もっと画像サイズを大きくしてフロント・ページへ使うとしましょう。そのページを開くと目を閉じた顔が浮かび上がり、目を開けて静止します。
そういったほんの一瞬で止まるパターンだと、一瞬の動作はスムーズでなければなりません。しかし、「ストリーミング」を使えばダウンロードが追いつかないと表示された画像は次のシーンを「ダウンロード待ち」のため途中で止まってしまうわけです。たとえ1秒でもスムーズな動作がそこで断ち切れ、イメージは完全に崩れてしまいます。目を明ける途中で半開きのまま何秒か動作が停止するわけですから、その不自然さはおわかりいただけるはずです。
それをどうやって防げばいいか?・・・・・・少し考えるとダウンロードが終わるまで動作を開始させなければいいことはわかりますが、マニュアルを見てもやり方は載っていません。ただ、よくあるムービーをダウンロードする間、「ただ今ローディング中」の表示を出す方法なら載っており、一番簡単なのが最初の10コマなら10コマへローディング中の表示を仕込み、10コマ目に選択肢を書き込みます。
つまり、10コマ目に「ダウンロードを終えている場合は11コマへ進み、それ以外は1コマへ戻る」と命じればいいわけです。そして、ムービー全体が200コマだとしてそれを繰り返したい時は、200コマ目に「11コマへ戻る」と書き込みます(そうしないとローディング中の表示までが繰り返されてしまうからです)。同じく、レスリーの瞬(まばた)きのようなパターンをオープニング・ページに使う場合は、最初の10コマへローディング中の表示でなく出だしの画像を用い、一番最後のコマに「停止」と書き込めば目的達成です。
理屈がわかったところで、次は実際の記述方法をご説明しましょう。まず、シーンが表示されている中から命令(コマンド)を書き込みたいレイヤーのフレーム(たとえば「レイヤー2」の10コマ目)へマウスを置き、右クリックで「アクション」を選択します。その左側の窓から「アクション」→「if」を選び、下の「条件(C)」に「_framesloaded >= _totalframes」と書き込み、続いて「アクション」の「goto」を選び、下の「フレーム(F)」に「11」と書き込んで下さい。
if (_framesloaded >= _totalframes) {
gotoAndPlay (11);
} else {
gotoAndPlay (1);
}これで「ダウンロード済みのフレーム(コマ)数が全フレーム数と同じかそれ以上なら11フレームへ進む」と指定できました。そこで、今度はこの条件を満たさない場合の指定です。3行目に「アクション」の「else」を、4行目に「goto」を選び、下の「フレーム(F)」へ「1」と書き込みます。結果、右側の窓の表示が右図のようになるはずです。つまり、こう指示することでダウンロードを完了するまでは1コマ目から10コマ目までを延々と繰り返します。
もし、最初の10コマがローディング中の表示であり、
一瞬でローディングを終えた場合は11コマへ飛ばしたいなら、1コマ目へもまったく同じ内容の「アクション」を指定すればいいわけです。また、ローディング中の表示を除くムービー全体を繰り返したければ、一番最後のコマへ2行目の「gotoAndPlay (11);」だけ書き込んで下さい。いっぽう、繰り返さないで停止させたいなら「アクション」の「stop」を選ぶだけで、右図が右側の窓の表示です。
stop (); 以上の説明だけではピンとこないかたもおられると思いますので、最後に作例を挙げておきます。ただし、これをご覧いただいても、なお何が違うのかわからないかもしれません。じっさい、ブロードバンドやケーブルのような高速回線を使った接続では、せっかくの苦労が無駄に終わり、あくまでも電話回線の読者を前提としたバックアップとお考え下さい。言えることは、同じフラッシュを使うなら、こうしたちょっとした部分へ気を配るだけで、仕上がりが随分変わってきます。
お断りこれらのテクニックを試される場合は、みなさん個人の責任でお願いします。何かの手違いからWindowsが動かなくなったとしても責任は取りかねますので、その点をご了承ください。 横井康和 |