如何在EaselJS中获取影片剪辑的当前位置(帧)?

时间:2012-05-25 20:03:32

标签: javascript flash html5 canvas easeljs

我有一个淡入淡出的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


        };

任何人都可以就如何完成上述工作向我提出一些建议或想法吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

阅读完文档后,似乎会自动分配TweenJS Timeline来管理动画中的更改,它看起来不像我们在flash中看到的任何实际帧。

如果您查看可能的docs for TweenJS Timeline,可以使用duration属性,如文档所述:

  

只读属性,指定此时间轴的总持续时间(以毫秒为单位)(如果useTicks为true,则为ticks)。修改时间轴时,通常会自动更新此值。有关更多信息,请参阅updateDuration。

因此,如果您获得持续时间并除以2,或乘以0.5;)那么您可以找到动画的中间点。尝试在onTick方法中使用它来查看它是否有效。

答案 1 :(得分:0)

我总是这样做......

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

或者另一种方式......

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

(tl.position)%d

你必须得到movieclip的时间轴的位置&持续时间,并添加%。这将获得movieclip的当前帧。