本文主要是利用Flash中的Action来完成对Flash影片的上述控制.
主要函数介绍:(其实我们并没有涉及到过深的东西,只要你会一点编程就可以了.)
loadMovie("url",level/target[, variables])
参数
url 要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL。相对路径必须相对于级别 0 处的 SWF 文件。该 URL 必须与影片当前驻留的 URL 在同一子域。为了在 Flash Player 中使用 SWF 文件或在 Flash 创作应用程序的测试模式下测试 SWF 文件,必须将所有的 SWF 文件存储在同一文件夹中,而且其文件名不能包含文件夹或磁盘驱动器说明。
target 指向目标影片剪辑的路径。目标影片剪辑将替换为加载的影片或图像。只能指定 target 影片剪辑或目标影片的 level 这两者之一;而不能同时指定两者。
level 一个整数,指定 Flash Player 中影片将被加载到的级别。在将影片或图像加载到级别时,标准模式下“动作”面板中的 loadMovie 动作将切换为 loadMovieNum;在专家模式下,您必须指定 loadMovieNum 或从“动作”工具箱中选择它。
variables 一个可选参数,指定发送变量所使用的 HTTP 方法。该参数须是字符串 GET 或 POST。如没有要发送的变量,则省略此参数。GET 方法将变量追加到 URL 的末尾,该方法用于发送少量变量。POST 方法在单独的 HTTP 标头中发送变量,该方法用于发送长的变量字符串。
所涉及到的有关Xml的知识:
Xml大家一定很熟悉,它其实很简单,而且我们所要接触的仅仅是Xml的简单调用而已,大家会很轻松的掌握.值得注意的是,我们需要把所需的Flash文件路径记录在其中,当然也可以记录一些其它的关于Flash的信息以便将来查询.形式如下:
<!-- edited with XMLSPY v5 U ( http://www.xmlspy.com) by OldCom (kangyb) --> <Flashs> <Flash ID="20021130003" Author="" FlashName="都是夜归人" Class="MTV" Url="/flash/MTV/都是夜归人.swf"/> <Flash ID="20021130004" Author="" FlashName="绝望的生鱼片" Class="MTV" Url="/flash/MTV/绝望的生鱼片.swf"/> <Flash ID="20021130002" Author="" FlashName="重爱轻友" Class="MTV" Url="/flash/MTV/重爱轻友.swf"/> <Flash ID="20021130005" Author="" FlashName="第一次" Class="MTV" Url="/flash/MTV/第一次.swf"/> <Flash ID="20021130001" Author="" FlashName="流星雨" Class="MTV" Url="/flash/MTV/流星雨.swf"/> <Flash ID="20021130005" Author="" FlashName="单身情歌" Class="MTV" Url="/flash/MTV/单身情歌.swf"/> <Flash ID="20021130005" Author="" FlashName="想见你" Class="MTV" Url="/flash/MTV/想见你.swf"/> </Flashs> |
首先是影片第一帧的Action:
Xmldata = new XML(); Xmldata.onLoad = start; Xmldata.load("FlashDatabase.xml"); Xmldata.ignoreWhite = true
function start(success) { LoadMovieHere._visible = false; if (success == true) { rootNode = Xmldata.firstChild; totalflashs = rootNode.childNodes.length; baseNode = rootNode.firstChild; currentNode=baseNode; status.text= "success!!"; currentIndex=1; } }
function playMovie( url ) { LoadMovieHere._visible = true ; LoadMovieHere.unloadMovie(); loadMovie ( url , LoadMovieHere ); Status.text = url ; playbutton._visible = false; pausebutton._visible = true; } |
各个按钮的Action:
MTV按钮:
on (release) { LoadMoiveHere._visible = true; if (currentNode == null ) return; playMovie(currentNode.attributes.Url); } |
Next按钮:
on (release) { nextNode = currentNode.nextSibling; if (nextNode == null) { return; } else { currentIndex++; currentNode = nextNode; playMovie(currentNode.attributes.Url); } } |
Previous按钮:
on (release) { backNode = currentNode.previousSibling; if (backNode == null) { return; } else { currentIndex--; currentNode = backNode; playMovie(currentNode.attributes.Url); } } |
Close按钮:
on (release) { unloadmovie("LoadMovieHere"); } |
控制Flash影片的按钮Action:
Play键:
on (release, keyPress "<Up>") { if (playbutton._visible==true) { LoadMovieHere.play(); pausebutton._visible = true; playbutton._visible = false; } } |
Pause键:
on (release, keyPress "<Up>") { if (pausebutton._visible==true) { LoadMovieHere.stop(); pausebutton._visible=false; playbutton._visible=true; } } |
Stop键:
on (release, keyPress "<Down>") { LoadMovieHere.gotoandstop(1); playbutton._visible = true; pausebutton._visible = false; } |
Back键:
on (release, keyPress "<Left>") { if (pausebutton._visible==true) { LoadMovieHere.gotoAndPlay(LoadMovieHere._currentframe-5); } } |
Forward键:
on (release, keyPress "<Right>") { if (pausebutton._visible==true) { LoadMovieHere.gotoAndPlay(LoadMovieHere._currentframe+5); } } |