addFrameScript

leafMc.addFrameScript(leafMc.totalFrames-1,sendMsg);

這句語句是說當leafMc播放到最後一幀時,觸發一個函數sendMsg,最好不要直接寫leafMc的總幀數,而是用leafMc.totalFrames-1,而且必須減一。

這個addFrameScript方法相當於一個監聽器,相當於  addEventListener(Event.ENTER_FRAME,*****);而且在官方api裏面是沒有說明的。

 

 

 

今天在flashguru上看到Actionscript 3.0未公開的addFrameScript()方法.此法主要是適合於使用flash 9創作環境來工作的羣體.
      

        addFrameScript的功能是允許你指定在flash player播放頭播放到指定的位置時觸發事件.這個方法可以接收四個參數,但目前只知道其中的前兩個.
        語法:
        MovieClip.addFrameScript(frame:uint,notify:Function)

        用法:
        function output()
        {

        trace('播放頭已到了第10幀');
        }

        //幀數的計算是從0的位置開始的,所以在使用addFrameScript的時候9代表的即是第十幀.
        addFrameScript(9,output);

        實際上addFrameScript()還可以接收任意多組的參數.如下:

        MovieClip.addFrameScript(0,frame1Method, 1,frame2Method, 2,frame3Method);

        也就是你說可以同時指定多組觸發事件,在1,2,3幀上同時指定觸發的動作,如果有不止一個動作事件指定在相同的一個幀上,那麼,只有後者的動作會被觸發.
如果要移除動作:

        MovieClip.addFrameScript(0,null)


        {

        trace('播放頭已到了第10幀');
        }

        //幀數的計算是從0的位置開始的,所以在使用addFrameScript的時候9代表的即是第十幀.
        addFrameScript(9,output);

        實際上addFrameScript()還可以接收任意多組的參數.如下:

        MovieClip.addFrameScript(0,frame1Method, 1,frame2Method, 2,frame3Method);

        也就是你說可以同時指定多組觸發事件,在1,2,3幀上同時指定觸發的動作,如果有不止一個動作事件指定在相同的一個幀上,那麼,只有後者的動作會被觸發.
如果要移除動作:

        MovieClip.addFrameScript(0,null)   //這裏我懷疑是
MovieClip.addFrameScript(0,null),這裏的0就是之前指定的那一幀。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章