私は、メディアプレーヤーのための単純なプログレスバーを配置し、色付きの矩形を描き、必要に応じて幅プロパティを変更することを計画しました。視覚的にはそれはうまく見える - うまくスケール(私はゼロ幅で描くことができなかったので、私は0.1の最小値を割り当てた)。hh?!.. event.localXは、スケールされたスプライトに "比率"を保持しますか?
実際の問題は異なっていますが、非常に奇妙な、または少なくとも絶対に明らかではないようです。その進行状況バーのユーザーのクリックを監視する必要があるので、メディアストリームのシーク操作をサポートするために、私はクリックイベントを検出し、親DisplayObjectからのオフセットとしてx座標をとり、時間に再計算してシークを行います。今度は、event.localXはスプライトと共に実際にはスケールされません。私が言ったように、プログレスバーの最も右の座標は0.1で、実際のバーがどのように広がっても5,100,1000になります(バーの最も右のピクセルをクリックすると、それは - 0.1になります!
hh ... ..
明らかに何か間違っています。多分、refreshCoordinates()なんかのようなメソッドがありますか?それは何ですか?..
"...単に表示階層の上にあるクリックイベントをキャプチャします。" ..ああ、彼らはバブルですか?カスタムイベントをバブリングしようとしましたができませんでした。または、マウスクリックのバブルやカスタムなどのデフォルトのイベントを実行しますか? – jayarjo
私はチップが100pxとパーセンテージが素晴らしいと思った。しかし、私はそれが正常に動作すると思うのは、1つのスケールがそのバーを下げていないと、そうでなければピクセルが「伸びる」となり、時には10%のポイントをとるにはあまりにも広いインターバルになるからです。私はlocalXをパーセンテージに再計算しませんし、時間に合わせて、時間を直接得ます。 – jayarjo
はい、ほとんどの入力イベントは表示リストにバブル表示されますが、注意すべき点がいくつかありますので、AS3イベントのバブリングに関するチュートリアルをGoogleに送信することをおすすめします。他のコメントについては、私があなたが何を意味するのかはまったく理解できませんが、クリップが伸縮しても、同じことが同じように機能します。 – fenomas