2013-08-21 47 views
1

我真的需要一些AS3腳本來運行某些功能,當我離開特定幀時。退出幀後Flash AS3運行函數

我的理由是把一些功能停止視頻,並恢復我的MP3播放器的聲音後,我退出包含FLV播放幀。


我使用這個腳本,它在FLash投影機中很好用,但stage.invalidate();導致像Swfkit和Zinc這樣的第三方應用程序製造商在我嘗試退出flv播放幀後沒有響應。

這裏是我的腳本:

stage.invalidate(); 

mene.addEventListener(Event.RENDER,exitingF); 
mene.addEventListener(Event.REMOVED_FROM_STAGE, removedF); 

function exitingF(e:Event):void{ 

      controller.gotoAndStop(2); 
      pausePosition = sndChannel.position; 
      sndChannel.stop(); 
      isPlaying = false; 
} 


function removedF(e:Event):void{ 
      mene.stop(); 
      controller.gotoAndStop(1); 
      sndChannel = soundClip.play(pausePosition); 
      isPlaying = true; 
} 

所有我需要的是一些另一種說法退出Flash specfic幀之後運行一些腳本(去另一幀)

回答

0

嘗試使用addFrameScript()功能。

它的工作原理就像這樣:OBJECT.addFrameScript(FRAME, CALLBACK)

這將腳本添加到時間線上。只要達到指定的幀回調將被執行。

下面是一個例子,我發現:http://blog.newmovieclip.com/2007/04/30/add-a-frame-script-addframescript-dynamically-in-flash-cs3/

package com.newmovieclip{ 
import flash.display.MovieClip; 
public class Main extends MovieClip { 
public var myStar:Star; 
     //constructor 
public function Main() { 
    //place a star on stage 
    myStar = new Star(); 
    addChild(myStar); 
    //add script to star timeline on frame 5 
    myStar.addFrameScript(4,frameFunction); // (zero based) 
} 
private function frameFunction():void { 
    trace("Executing code for star Frame 5"); 
    //delete frame script by passing null as second parameter 
    myStar.addFrameScript(4,null); 
     } 
} 
} 

記住幀0基於以上,在例如內嵌評論中提及

+0

真的感謝答覆,但你能解釋我更多有關這個腳本,即時通訊真的很成熟在AS3 是這個腳本可以用於我的理由?因爲我想在退出框架後添加腳本,而不是輸入框架 – Arioman

+0

當然,我已經更新了我的答案 – Helto

+0

看來addFrameScript()是一個功能,允許您將動作添加到特定的框架,我該如何使用此功能對於退出框架? 我有各種各樣的菜單,他們每個鏈接到各種幀 – Arioman