0

一連のスライドをサウンドと同期させるために使用したいエフェクトがあります。サウンドが再生されると、各スライド (ムービークリップ内の独自のフレーム) が表示され、スライドが少しずつ拡大されて少し動きます。サウンドは親タイムラインの 1 フレームに相当する傾向があるため、そのフレームで再生されているサウンドを確認して、各スライドを表示する時間を計算します。

私たちが抱えている問題は、これらのアニメーションの 1 つを 2 つ以上のスライドにまたがって「ストレッチ」する必要がある場合があることです。スライド画像を含むムービークリップが表示されます。

ただし、ムービークリップが表示されるタイムライン フレームの数を示すプロパティを見つけることができませんでした (これは、クリップに含まれるフレームの数である totalframes とは異なることに注意してください)。そのようなプロパティが存在するというのは単なる希望的観測ですか、それとも誰かがこれについて正しい方向に私を向けることができますか?

4

2 に答える 2

0

問題を正しく理解しているかどうかわかりませんが、MovieClip.currentFrame を試してみましたか?

于 2012-06-11T17:45:15.343 に答える
0

DisplayList に存在するフレームの量を追跡する、次のようなクラスを作成できますか。

package
{

    import flash.display.MovieClip;
    import flash.events.Event;


    public class ExtMovieClip extends MovieClip
    {

        // Properties.
        private var _lifetime:int = 0;


        // Constructor.
        public function ExtMovieClip()
        {
            addEventListener(Event.ADDED_TO_STAGE, _added);
        }


        // Was added to the DisplayList.
        private function _added(e:Event):void
        {
            removeEventListener(Event.ADDED_TO_STAGE, _added);

            addEventListener(Event.ENTER_FRAME, _track);
            addEventListener(Event.REMOVED_FROM_STAGE, _removed);
        }


        // Was removed from the DisplayList.
        private function _removed(e:Event):void
        {
            removeEventListener(Event.REMOVED_FROM_STAGE, _removed);
            removeEventListener(Event.ENTER_FRAME, _track);

            addEventListener(Event.ADDED_TO_STAGE, _added);
        }


        // Increment the lifetime of this MovieClip.
        public function _track(e:Event):void
        {
            _lifetime ++;
        }


        // Retunrns the lifetime of this MovieClip.
        public function get lifetime():int
        {
            return _lifetime;
        }

    }
}
于 2012-07-03T03:31:03.260 に答える