背景ビデオプレーヤーのボタンコンポーネントにボタンのような動作を追加するにはどうすればいいですか?
私は、ビデオとオーディオの再生のために同じユーザーインタフェース(またはできるだけ同じ)を提示し、単純な「ユニバーサル」メディアプレーヤーを作成しようとしています。残念ながら、FLVPlaybackは私が知る限りオーディオファイルを扱うことができないと思われるので、SoundとSoundChannelを使用しています。
私のビデオ再生は、必要に応じてオンザフライで標準のコントロールに「配線」されたFLVPlaybackコンポーネントを使用して処理されます。私がしたいことは、同じUIウィジェットが両方のケースで動作するようにサウンドを再生しているときにSound/SoundChannelに配線することです。私はFLVPlaybackコンポーネントが "無料で"素敵なものをたくさん持っているので、最初からすべてのコンポーネントを構築しないようにしたいと思っていますが、それはやりにくく見え始めています。
ゴーレイスタッフ
標準PlayPauseButtonは、二つの層、再生ボタン(およびインスタンス名play_mc有する)とを含む一時停止ボタン(pause_mc)を含むものとムービークリップです。これらの中には、次のようなコードの映画があります。
stop();
this.upLinkageID = "PauseButtonNormal";
this.overLinkageID = "PauseButtonOver";
this.downLinkageID = "PauseButtonDown";
this.disabledLinkageID = "PauseButtonDisabled";
ムービーには2つのフレームがあります。
最初のフレームには、インスタンス名placeholder_mcを持つ1つのムービークリップがあります。
2番目のフレームではボタン状態のインスタンスですが、インスタンス名はありません(これにより作業が簡単になります)。ただし、これらは上記の名前のライブラリオブジェクトのインスタンスです。
私がしたいのは、これらのボタン(pause_mc、say)の1つを渡すと自動的にボタンのような動作が追加されるという関数を作成することです。私がアドビの「ドキュメンテーション」から理解できないことは、ムービークリップコードに埋め込まれた情報を使って、placeholder_mcの内容を私が望むものに交換する方法です。
TL、本質的にはDR
私は期待通りに以下のコードは、ボタンの表示状態を変更するように機能SET_INSTANCEを実装する必要があります。
var my_button:MovieClip = pause_mc;
my_button.addEventListener(MouseEvent.MOUSE_OVER, function(e:Event){
set_instance(my_button.placeholder_mc, my_button.overLinkageID);
});
私はずっと前のプレーヤーを同様のラインに沿って実装しました。私はこの質問を部分的には暴言として掲示しました(AS3クラスのライブラリは、この点で絶対にひどいですが、これは恐ろしいAS2クラスライブラリの「緑のフィールド」の書き換えでもあります)。そして、誰かが私にいくつかの節約できる作業... – podperson