ver 0.0.7からflv,mp4,mov動画に仮対応しました。 ただし、こちらの環境の都合でいくつかの項目についてテストしていません。 それを踏まえたうえで使ってください。
動画はストリームに接続できしだい、再生が開始されます。 パズルの進行とは独立してループ再生されます。 パズルスタートのタイミングやプレイヤーの操作に合わせてイベントは発生しません。 例えば、パズルのスタートと同時に再生を開始したり、パズルが完成したときに再生を止めるようなことはできません。
動画を使う場合、パラメータxmlファイルに追加のパラメータを指定できます。 追加のパラメータはargs.imageの属性3つです。 imageはswfからの相対パスになります。 他の画像とは違うので注意してください。
<?xml version="1.0" ?> <args> <image videoWidth="幅" videoHeight="高さ" videoCrossDomain="使用/未使用"> 動画ファイル </image> <next target="ブラウザの更新フレーム">完成後の移動先</next> <message> <start>スタートメッセージ画像</start> <complete>完成メッセージ画像</complete> </message> ... その他の設定 </args>
属性 | 説明 |
---|---|
videoWidth | 動画バッファ用の幅。 ピースサイズなどはこの値を元に計算される。 デフォルト値は480。 |
videoHeight | 動画バッファ用の高さ。 ピースサイズなどはこの値を元に計算される。 デフォルト値は360。 |
videoCrossDomain | 別ドメインのファイルを使用する場合trueに設定する。 別ドメインの動画にアクセスするには、対象のサーバーにクロスドメインポリシーファイルが必要。 APuzzle.swfと同じドメインの場合、省略またはfalseに設定する。 |
動画の各フレームは直接パズルのピースに描画されるのではなく、一度動画バッファに展開された後、さらにピースにコピーされます。 動画バッファにはスムージング有りで展開されます。 動画バッファのサイズが小さければ、内部の描画処理が軽くなり、ピースの表示が粗くなります。
160x120ピクセルの動画を、表示領域が640x480のAPuzzleで使った場合について考えます。 内部バッファが160x120ピクセルの場合、動画ファイル→バッファはそのまま展開され、バッファ→ピースは4倍に拡大されます。 ピースに表示されるドットは粗くなってしまいますが、処理は軽くなります。
内部バッファが320x240ピクセルの場合、動画ファイル→バッファは2倍に展開され、バッファ→ピースも2倍に拡大されます。 動画ファイル→バッファの展開のときにスムージングされるので、ドットの粗さは軽減されます。 (動画によってはぼやけた感じが強くなることもあります。) 2倍拡大が2回行われるので処理が重くなり、メモリも多く使用されます。