- ベストアンサー
flash8 proのコンポーネントの使い方
- flash8 proのコンポーネントの使い方について簡単に説明します。
- FLV Playback カスタム UIコンポーネントを使用してビデオにミュートボタンを配置する方法を解説します。
- ビデオコンポーネントのスキン適用のプロパティにインスタンス名を関連付ける手順についてわかりやすく説明します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
この方法は要するに、「この FLVPlayback では、ミュートボタンに○○というインスタンスを使う」とスクリプトで定義するということです。 FLVPlayback コンポーネントを制御している FLVPlayback クラスには、何の部品にどのインスタンスを使うかを管理しているプロパティがあります。 (プロパティは、コンポーネントで利用できる部品の数だけあります) このプロパティを書き換えることで、コンポーネントとインスタンスを関連付けます。 まず、FLVPlayback コンポーネントをステージに配置し、インスタンス名を付けてください。 ここでは仮に” flv_player ”と付けたとします。 次に、ミュートボタンとして使うコンポーネントを配置します。 1から自作することも可能ですが、インスタンス名の付け方や各状態ごとの絵をコンポーネントにして用意しなければならないなど、いろいろな決まりがあって複雑です。 今回は簡単なところで、Flash 8 に付属のミュートボタンのコンポーネントを利用します。 「コンポーネント」パネルの” FLV Playback Custom UI ”のカテゴリーから” MuteButton ”をステージにドラッグし、これにもインスタンス名を付けてください。 仮に” mute_btn ”とします。 再生ボタン等のコントローラがなければ、閲覧者はビデオの再生中に何の操作もできません。 再生ボタンやシークバー(再生する位置を制御するバー)などの部品を1つにまとめたパネルを”スキン”といいます。 スキンは swf ファイルとして作っておくと、コンポーネントのパラメータでスキン用の swf ファイルを選ぶだけで簡単に取り替えることができます。 ご提示の講座で紹介されている3つの方法のうちの1番目が、このあたりの話です。 サンプルとして付いているスキンもいくつかありますので、機会がありましたら利用してみてください。 完成済みのスキンを使うのではなく各部品を部品単位で取り替えたり必要なものだけを使用したい場合は、スキンを無効にしておく必要があります。 スキンを使う設定にしていると、スキンに組み込まれている部品の方が優先されてしまいます。 スキンを無効にするには、コンポーネントパラメータの「 skin 」に”なし”を設定します。 コンポーネントとは、編集可能なパラメータを持っているムービークリップです。 FLVPlayback もコンポーネントですから、様々なパラメータを持っています。 コンポーネントが持っているパラメータは「パラメータ」パネルで編集します。 ステージに配置した FLVPlayback コンポーネントのインスタンスを選択した状態で、「プロパティ」パネルを見てください。 パネルのタイトルバーの部分にタブが3つあります。 コンポーネントのインスタンスを選択している時は、「パラメータ」タブをクリックしてパネルを切り替えると、コンポーネントが持っているパラメータを編集できます。 パラメータの一覧の中から「 skin 」というパラメータを探し、右側の項目をクリックしてください。 項目をダブルクリックするか右端に出てくる虫メガネボタンをクリックすると、スキンの選択画面になります。 下のほうにある「スキン:」のリストで、”なし”を選択してください。 講座には” None ”とありますが、日本語版の Flash では”なし”になっています。 ************************* ここまでの操作で、FLVPlayback コンポーネントのインスタンス” flv_player ”とミュートボタンのインスタンス” mute_btn ”がステージにあり、flv_player ではスキンが無効、の状態になります。 続いて、”インスタンス mute_btn をミュートボタンとして使う”と定義するスクリプトを書きます。 この作業が、講座で「ビデオコンポーネントのスキン適用のプロパティにインスタンス名を関連付ける」と書かれていることです。 (ちなみに、講座では手順 7. がこの作業にあたります) 関連付ける、というと難しく聞こえますけれど、実はある決まったプロパティにインスタンス名を代入するだけの単純なスクリプトです。 flv_player インスタンスでミュートボタンに mute_btn インスタンスを使うように設定するスクリプトは、次のようになります。 このスクリプトは、メインのタイムラインのフレームに設定してください。 flv_player.muteButton = mute_btn; FLVPlayback コンポーネントに独自のミュートボタンを付ける作業は以上で終了です。 「ムービープレビュー」で動作を確認してみてください。 ************************* 同じ要領で、再生ボタンや停止・一時停止ボタン等を関連付けることができます。 どの部品を関連付ける場合もスクリプトの書式は同じで、 FLVPlayback のインスタンス名.部品の参照を管理するプロパティ名 = 部品のインスタンス名; です。 部品の参照を管理しているプロパティは、部品ごとに名前が決まっています。 例えば、再生ボタンとして使うコンポーネントを配置してインスタンス名を” play_btn ”と付けたとすると、このインスタンスを flv_player で使うようにするスクリプトは flv_player.playButton = play_btn; となります。 他の部品のプロパティは ・ pauseButton 一時停止中は再生ボタンで再開、このボタンは押せなくなる一時停止ボタン ・ playPauseButton 一時停止中は再生ボタンに、再生中は一時停止ボタンに変わるボタン ・ stopButton 停止ボタン ・ backButton 巻き戻しボタン ・ forwardButton 早送りボタン ・ volumeBar 音量のコントローラ ・ seekBar 再生中の位置を表示・変更するためのバー ・ bufferingBar バッファリング中に表示するバーのアニメ です。 なお、pauseButton と playPauseButton は併用できません。最後に設定した方が一時停止ボタンとして採用されます。 インスタンス名は、正確に言うとターゲットパスです。 各部品を1つのムービークリップにまとめた場合や、コンポーネントを配置したタイムラインとは違うタイムラインおよびインスタンスにスクリプトを書く場合は、ターゲットパスの誤りにご注意ください。 スキンを無効にしている時は、スクリプトで定義したインスタンス以外のボタン等は操作用の部品として機能しません。 つまり、ミュートボタンを関連付けただけでは、閲覧者はミュートしか操作できないことになります。 必要に応じて、再生ボタン等も同様の要領で追加してください。 ---------------------------------------------------------------- FLVPlayback コンポーネントには、マウス操作で操作パネル(スキン)を表示したり隠したりするためのパラメータ「 skinAutoHide 」があります。 これはスキンを有効にしている、つまり「 skin 」パラメータで”なし”以外のものを選択した時のみ有効です。 今回のようにスキンを使わず部品単位で操作変更している場合は、true にしても何も起こりません。
お礼
DPEさん、大変わかりやすく説明して頂き、本当にありがとうございます!!! 解決いたしましたー(;_;) >講座には” None ”とありますが、日本語版の Flash では”なし”になっています。 ここまで丁寧に教えて頂き、自分が記事をみながらやっていて” None ”のタブが無い!!と焦っていたことまで本当に理解できました。 ありがとうございます。 お礼の中に書くべきではないのかもしれませんが… ここまでの状態はうまくいったのですが、ここからFLVPlayback コンポーネントを使っている状態で、【flvは、ミュート状態から開始したい。】【flvはループ再生したい】という場合は、どのようにすれば良いのでしょうか…。ループなど今までのように、単純にレイヤーのプロパティで設定してみたのですがうまくいきません。解説書にも、載っていないので困っています…。 お知恵をお貸しください…。(>_<)よろしくお願いします。
補足
★質問投稿者です DPEさんへのお礼のほうに、新たな質問を記入してスミマセン。 新しく、質問を立て直しますので、おわかりになる方回答よろしくお願いします。