?? actionο
字號:
作者:大木頭
日期:00-5-16 下午 12:55:12
利用FS Command在分幀中控制動畫
(作者:newfish)
FS Command是FLASH強大的功能之一,能恰當?shù)剡\用,能做出驚人的效果。本站將會陸續(xù)推出一系列FS Command的教程,結合實例,給大家講講FS Command?,F(xiàn)奉上網(wǎng)友問得最多的--如何在分幀的頁面上控制FLASH動畫。
● FS Command可以說是FLASH動畫與Javascript(或VBscript)的接口,當動畫發(fā)出FS Command時,網(wǎng)頁就可以執(zhí)行指定的Javascript,來控制FLASH動畫。
● FS Command有兩個參數(shù)可填,分別是Command和Argument
● 不要小看這兩個參數(shù),能恰當?shù)檬褂眠@兩個變量,加上一些Javascript就能做出一些你意想不到的效果!這兩個變量你可以隨意寫,除了一些特定的語句外。這些特定的語句是:
Command Argument 作用
quit 不填 關閉動畫,退出FLASH的播放器
fullscreen True/False 控制FLASH的播放器是否進行全屏播放
allowscale True/False 控制FLASH動畫是否隨著FLASH播放器的變化而按比例變化
showmenu True/False True=按右鍵時能顯示出菜單
False=沒有菜單
exec 應用程序的路徑 在播放器中打開一應用程序。
注:這些語句只能在動畫單獨播放時才有用
● 現(xiàn)在來說說如向網(wǎng)頁中發(fā)出FS Command?,F(xiàn)在我以怎樣利用FS Command來控制網(wǎng)頁中兩個不同frame中的動畫為例子來說明。請先看例子。
● 我在這例子用了兩個動畫,左邊的動畫由三個按鈕組成,第一個按鈕的Actions是這樣設的:
On (Press)
FS Command ("frame1", "")
End On
意思是當按下時,發(fā)出一個Command名為frame1的FS Command.同樣地,在第二個按鈕上設
On (Press)
FS Command ("frame2", "")
End On
第三個按鈕上設
On (Press)
FS Command ("frame1", "")
End On
● 而右邊的動畫只有簡單的三幀。
● 好了,把它們分別加在網(wǎng)頁中不同的兩幀處。如是用Dreamweaver編輯網(wǎng)頁的,就分別給它們起一個ID名字,以便后面調用動畫。
● 我就給左邊的動畫的ID為left,右邊的ID為right.
如沒有Dreamweaver的,就手動在<object></object>里加上id="xxx"
● 好了,現(xiàn)在就在左邊f(xié)rame的源代碼中的<head></head>中加進下面的代碼
<SCRIPT LANGUAGE="JavaScript">
<!-- var InternetExplorer = navigator.appName.indexOf("Microsoft") == 0;
//判斷瀏覽器是否為InternetExplorer
function left_DoFSCommand(command, args) {
//left為左邊的動畫的id
var map = InternetExplorer ? parent.rightframe.right : parent.rightframe.document.right;
//當瀏覽器為IE時,map就等于parent.right.right; (此為IE可識別的格式)
//若不是,map就等于parent.right.document.right;(此為Netscape可識別格式)
//而"map"只是一個變量名,你可以隨意命名,但要在下面的相應語句中改回來。
//而parent.rightframe.right中間的"rightframe"就是右邊的frame的名字;后面的"right"就是在右邊的frame中的動畫id
//其格式為parent.frame的名字.動畫的id名字。
if (command=="frame1" ) {
map.GotoFrame(0);
}
//當FS Command為"frame1"時(按下第一個按鈕時發(fā)出),就跳到map(即"map = InternetExplorer ? parent.rightframe.right"中所指定的動畫)的第1幀;
//也就是名字為"right"的frame中id號為"right"的動畫跳到第一幀; //其中GotoFrame是Javascript中能控制FLASH的語句之一,而全部的這些語句,請看附表;
//下面的原理相同;
if (command=="frame2" ) {
map.GotoFrame(1);
}
if (command=="frame3" ) {
map.GotoFrame(2);
}
}
//-->
</SCRIPT>
<SCRIPT LANGUAGE="VBScript">
<!-- Sub left_FSCommand(ByVal command, ByVal args)
call left_DoFSCommand(command, args) end sub -->
//運用VBScript,當FLASH發(fā)出FS Command時,執(zhí)行l(wèi)eft_DoFSCommand(command, args);
//left為做邊的動畫的id
</SCRIPT>
● 附表:能在Javascript里控制FLASH動畫的函數(shù)表
Play() 使已停止了的FLASH動畫在停止處開始播放
格式:YourMovieName.Play()
StopPlay() 停止正在播放的FLASH文件
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -