動画像(ビデオ) WWWで扱うマルチメディア目次 イメ-ジ

動画像(フラッシュ)

WWWで使う動画像にはビデオ・フォーマット以外、Macromedia社のフラッシュ・ムービーがあります。いくらビデオ・フォーマットより軽いとはいえ、一般的なHTML文書(ハイパーテキスト)と比べればファイル容量がかなり大きくなるため、'90年代に出回り始めた頃はまだ映画関連のサイトなど一部でしか使われていませんでした。

その後、ブロードバンドをはじめとする新しい技術が開発され、インターネットへの接続スピードはどんどん早くなり、2〜3分のビデオをダウンロードするのに1時間近くかかったQuickTimeの予告編も今や一瞬で見ることが可能です。そうなるとビデオより応用範囲の広いフラッシュ・ムービーはますます利用価値があり、ビデオのほうは今世紀に入ってWindowsのメディア・プレーヤーがQuickTimeを追い上げているいっぽうで、フラッシュ・ムービーは小さなバナー広告へすら使うのが当たり前となっています。

ファイル形式

フラッシュはQuickTimeを含めた様々なマルチメディアのファイル形式をサポートしており、主に以下のようなファイルが読み込めます。

QuickTimeをインストールしなくても読み込めるファイル形式
ファイル形式拡張子WinMac
Adobe Illustrator.dxf
AutoCAD DXF.qt, .mov
ビットマップ.bmp×
Windows 拡張メタファイル.emf×
FreeHand.fh7、.ft7, .fh8、.ft8, .fh9、.ft9
FutureSplash Player.spl
GIFおよびアニメーションGIF.gif
JPEG.jpg
PICT.pct、.pic×
PNG.png
Flash Player .swf
Windows メタファイル.wmf×

QuickTimeがインストールされている場合だけ読み込めるファイル形式
ファイル形式拡張子WinMac
MacPaint.pntg
Photoshop.psd
PICT.pct、.pic(ビットマップ)×
QuickTimeイメージ.qtif
QuickTimeムービー.mov×
Silicon Graphics.sai
TGA.tgf
TIFF.tiff

これらのファイルを使って、どのようにフラッシュ・ムービーを作成するかは、マニュアルを見れば詳しく説明されています。

応用

「ストリーミング」機能のおかげで、フラッシュ・ファイルはダウンロードをしながら表示されます。したがって、他の画像ファイルのようにダウンロードを終えるまで見られないということがなく、少々重いフラッシュ・ファイルを普通の電話回線で表示する場合も、さほど苦になりません。ただ、注意しないと、この「ストリーミング」がムービー本来のイメージを台無しにすることもあるのです。

たとえば、開くと目を閉じた顔が浮かび上がり、目を開けるといったほんの一瞬で止まるパターンだと、一瞬の動作はスムーズでなければなりません。しかし、「ストリーミング」を使えばダウンロードが追いつかないと表示された画像は次のシーンを「ダウンロード待ち」のため途中で止まってしまうわけです。たとえ1秒でもスムーズな動作がそこで断ち切れ、イメージは完全に崩れてしまいます。目を明ける途中で半開きのまま何秒か動作が停止するわけですから、その不自然さはおわかりいただけるはずです。

それをどうやって防げばいいか?・・・・・・少し考えるとダウンロードが終わるまで動作を開始させなければいいことはわかりますが、マニュアルを見てもやり方は載っていません。ただ、よくあるムービーをダウンロードする間、「ただ今ローディング中」の表示を出す方法なら載っており、一番簡単なのが最初の10コマなら10コマへローディング中の表示を仕込み、10コマ目に選択肢を書き込みます。つまり、10コマ目に「ダウンロードを終えている場合は11コマへ進み、それ以外は1コマへ戻る」と命じればいいわけです。そして、ムービー全体が200コマだとしてそれを繰り返したい時は、200コマ目に「11コマへ戻る」と書き込みます(そうしないとローディング中の表示までが繰り返されてしまうからです)。同じく、瞬(まばた)きのようなパターンをオープニング・ページに使う場合は、最初の10コマへローディング中の表示でなく出だしの画像を用い、一番最後のコマに「停止」と書き込めば目的達成です。

理屈がわかったところで、次は実際の記述方法をご説明しましょう。まず、シーンが表示されている中から命令(コマンド)を書き込みたいレイヤーのフレーム(たとえば「レイヤー2」の10コマ目)へマウスを置き、右クリックで「アクション」を選択します。その左側の窓から「アクション」→「if」を選び、下の「条件(C)」に「_framesloaded >= _totalframes」と書き込み、続いて「アクション」の「goto」を選び、下の「フレーム(F)」に「11」と書き込んで下さい。

 これで「ダウンロード済みのフレーム(コマ)数が全フレーム数と同じかそれ以上なら11フレームへ進む」と指定できました。そこで、今度はこの条件を満たさない場合の指定です。3行目に「アクション」の「else」を、4行目に「goto」を選び、下の「フレーム(F)」へ「1」と書き込みます。結果、右側の窓の表示内容が次のようになるはずです。つまり、こう指示することでダウンロードを完了するまでは1コマ目から10コマ目までを延々と繰り返します。

	
	
	if (_framesloaded >= _totalframes) {
	    gotoAndPlay (11);
	} else {
	    gotoAndPlay (1);
	}
	
	
 もし、最初の10コマがローディング中の表示であり、一瞬でローディングを終えた場合は11コマへ飛ばしたいなら、1コマ目へもまったく同じ内容の「アクション」を指定すればいいわけです。また、ローディング中の表示を除くムービー全体を繰り返したければ、一番最後のコマへ2行目の「gotoAndPlay(11);」だけ書き込んで下さい。いっぽう、繰り返さないで停止させたいなら「アクション」の「stop」を選ぶだけで、次が右側の窓の表示内容です。
	
	
	stop ();
	
	
以上の説明だけではピンとこないかたもおられると思いますので、最後に作例を挙げておきます。ただし、これをご覧いただいても、なお何が違うのかわからないかもしれません。じっさい、ブロードバンドやケーブルのような高速回線を使った接続では、せっかくの苦労が無駄に終わり、あくまでも電話回線の読者を前提としたバックアップとお考え下さい。言えることは、同じフラッシュを使うなら、こうしたちょっとした部分へ気を配るだけで、仕上がりが随分変わってきます。

フラッシュの実例



Copyright (C) 1996-2003 by Yasukazu Yokoi. All Rights Reserved.