3

フェードインしてからフェードアウトするMovieClipがあります。このムービークリップの途中のマークを見つけて一時停止したいと思います。ただし、EaselJSでは、ムービークリップの現在のフレーム位置を取得する方法が見つかりません。これは可能ですか?

次のようなことをしたいのですが。

 canvas = document.getElementById("introCanvas");
        exportRoot = new lib.MyMovieClip();
        exportRoot.onTick = function () {

            //get the mc's length in frames
            //get the current frame position
            //if current frame postion == mc's lenght / 2
                   //then pause movie clip


        };

誰かが私に上記を達成する方法についていくつかの提案やアイデアを提供できますか?

ありがとう!

4

2 に答える 2

0

ドキュメントを読んだ後TweenJS Timeline、アニメーションの変更を管理するためにaが自動的に割り当てられているようですが、フラッシュで見られるような実際のフレームはないようです。

TweenJSタイムラインのドキュメントを見ると、ドキュメントに記載されているように、durationプロパティを使用できる可能性があります。

このタイムラインの合計期間をミリ秒単位で指定する読み取り専用プロパティ(またはuseTicksがtrueの場合はティック)。この値は通常、タイムラインを変更すると自動的に更新されます。詳細については、updateDurationを参照してください。

したがって、期間を取得して2で除算するか、0.5を掛けると、アニメーションの中間点を見つけることができます。onTickメソッドでこれを使用して、機能するかどうかを確認してください。

于 2012-05-26T11:43:27.707 に答える
0

私はいつもこれをします...

(movieclip.timeline.position)%movieclip.timeline.duration

または別の方法...

var tl = movieclip.timeline;
var d = timeline.duration;

(tl.position)%d

ムービークリップのタイムラインの位置と期間を取得し、%を追加する必要があります。これにより、ムービークリップの現在のフレームが取得されます。

于 2013-05-22T15:56:05.610 に答える