どうすればいいですか?FLVPlayback でサイズを変更するために後付けしているシークバーがあります。現在、シークバーをクリックすると mouseX を取得し、それをシークバーの長さで割って、シークするパーセンテージを把握しています。
私の問題は、シークムービークリップの幅を動的に設定しているため、幅は設定した幅を返しますが、マウスイベントはライブラリにある元の幅のままであるかのように位置を返します。
この問題を回避するにはどうすればよいですか?
どうすればいいですか?FLVPlayback でサイズを変更するために後付けしているシークバーがあります。現在、シークバーをクリックすると mouseX を取得し、それをシークバーの長さで割って、シークするパーセンテージを把握しています。
私の問題は、シークムービークリップの幅を動的に設定しているため、幅は設定した幅を返しますが、マウスイベントはライブラリにある元の幅のままであるかのように位置を返します。
この問題を回避するにはどうすればよいですか?
元の幅に対してスケーリングするだけです。幅 100 ピクセルのバーがあるとします。次のようにします。
var seekTo:Number = seekbar.mouseX / 100;
これにより、シークバーの現在の幅に関係なく、クリックされた割合が得られます。
素晴らしく簡単で、ファンキーな座標空間の変換は必要ありません。
MouseEvent オブジェクトには、stageX および stageY プロパティがあります。これらの値をクリップの位置でオフセットするだけで、設定する必要があります。