第一篇:flash常用代碼總結(jié)
1、flash停頓多少秒后播放
setInterval()在執(zhí)行完一次代碼之后,經(jīng)過(guò)了那個(gè)固定的時(shí)間間隔,它還會(huì)自動(dòng)重復(fù)執(zhí)行代碼 setTimeout()只執(zhí)行一次那段代碼
兩個(gè)方法用法一樣
1、如果要求在每隔一個(gè)固定的時(shí)間間隔后就精確地執(zhí)行某動(dòng)作,那么最好使用setInterval
2、如果不想由于連續(xù)調(diào)用產(chǎn)生互相干擾的問(wèn)題,尤其是每次函數(shù)的調(diào)用需要繁重的計(jì)算以及很長(zhǎng)的處理時(shí)間,那么最好使用setTimeout
stop();//設(shè)置停頓時(shí)間,單位毫秒
var loadTime=setInterval(playMC,5000);function playMC(){ play();clearInterval(loadTime);//終止被調(diào)用的過(guò)程代碼的執(zhí)行 }
2、Flash調(diào)用外部swf定位和大小
http://mojojo.blogbus.com/logs/16055529.html
flash調(diào)用外部swf定位和大小的ActionScript函數(shù)。
(1)用同一目錄下swf文件,一般來(lái)說(shuō)用loadMovie(“mpg.swf”,“mpg”);
可是那樣不好控制swf的位置和大小把你的swf文件導(dǎo)入到一個(gè)空mc中去,然后通過(guò)調(diào)整這個(gè)空的mc來(lái)控制你的導(dǎo)入的swf文件的大小。
(2)文字要改變其大小可以用: setproperty(“mcname”,_xscale,xx);setproperty(“mcname”,_yscale,yy);
//其中mcname為空mc的實(shí)例名,xx,yy為調(diào)整數(shù)值(3)要改變調(diào)入后的swf的位置: setproperty(“mcname”,_x,xxx);setproperty(“mcname”,_y,yyy);
//其中xxx,yyy是數(shù)值,即新的位置
功能說(shuō)明: loadMovieNum(“url”,level[, variables])loadMovie(“url”,level/target[, variables])
功能說(shuō)明:
在播放原來(lái)加載的影片的同時(shí)將SWF或JPEG文件加載進(jìn)來(lái)。
參數(shù)說(shuō)明:
url 要加載的 SWF 或 JPEG 文件的絕對(duì)或相對(duì) URL,不能包含文件夾或磁盤驅(qū)動(dòng)器說(shuō)明。
level 把swf文件以層的形式載入到Movie里,若載入0層,則載入的swf文件將取代當(dāng)前播放的Movie。2層高于1層。
Target 可用路徑拾取器取得并替換目標(biāo)MC,載入的電影將擁有目標(biāo)MC的位置、大小和旋轉(zhuǎn)角度等屬性。(個(gè)人認(rèn)為用Target好些,在控制載入.swf位置時(shí)比較方便)variables 可選參數(shù),指定發(fā)送變量所使用的 HTTP 方法(GET/POST),如果沒(méi)有則省略此參數(shù)。
層次Level:Flash允許同時(shí)運(yùn)行多個(gè)SWF文件,F(xiàn)lash一旦載入一個(gè)SWF文件,則占據(jù)了一個(gè)“層次”,系統(tǒng)默認(rèn)的是_Flash0或_Level0,之后的Movie則按順序放在level0---level16000里。第一個(gè)載入的SWF文件為_Flash0或 _Level0,第二個(gè)如果加載到第一層時(shí)的稱為_Flash1或_Level1,依此類推。注意前提是前面載入的文件沒(méi)有退出,否則沖掉第一個(gè)SWF文件,第一個(gè)文件也從內(nèi)存中退出。
注意:如果你將外部的Movie加載到Leve0層或者Level0里,那么,原始的Movie就會(huì)被暫時(shí)取代,要再用時(shí)還得重新Load一次,也就是說(shuō),一個(gè)Level在一個(gè)時(shí)間里只能有一個(gè)Movie存在。在使用LoadMovie和UnLoadMovie時(shí)必須特別注意 Level之間的關(guān)系,否則,當(dāng)你希望在一個(gè)時(shí)間里只播放一個(gè)Movie而Unload掉前一個(gè)Movie時(shí),就會(huì)出現(xiàn)不必要的麻煩。
unloadMovieNum(level)
unloadMovie[Num](level/“target”)
功能說(shuō)明: 從 Flash Player 中刪除已加載的影片。
參數(shù)說(shuō)明: 同上
loadVariables(“url” ,level/“target” [, variables])
功能說(shuō)明:
從外部文件中(例如文本文件,或由 CGI 腳本、Active Server Page(ASP)、PHP 或 Perl 腳本生成的文本)讀取數(shù)據(jù),并設(shè)置 Flash Player 級(jí)別或目標(biāo)影片剪輯中變量的值。
參數(shù)說(shuō)明:
url 變量所處位置的絕對(duì)或相對(duì) URL
level 指定 Flash Player 中接收這些變量的級(jí)別的整數(shù)。
Target 指向接收所加載變量的影片剪輯的目標(biāo)路徑。
variables 可選參數(shù),指定發(fā)送變量所使用的 HTTP 方法(GET/POST),如果沒(méi)有則省略此參數(shù)。
gotoAndPlay(scene, frame)
功能說(shuō)明:
轉(zhuǎn)到指定場(chǎng)景中指定的幀并從該幀開始播放。如果未指定場(chǎng)景,則播放頭將轉(zhuǎn)到當(dāng)前場(chǎng)景中的指定幀。
參數(shù)說(shuō)明:
scene 轉(zhuǎn)到的場(chǎng)景的名稱。
frame 轉(zhuǎn)到的幀的編號(hào)或標(biāo)簽。
Flash常用代碼的介紹
作者:ayan_2006 類型:閃吧BBS 來(lái)源:閃吧個(gè)人空間
1、用flash做那種彈出的小窗口分兩步:給flash中的按鈕加入如下action:
on(release){
getURL(“BLOCKED SCRIPTMM_openBrWindow(’newweb.htm’,’’,’width=600,height=100’)”);
} 在HTML頁(yè)面的...之間加入下面的javascript代碼.2、如何使得flash一打開就是全屏?
fscommand(“fullscreen”,true)如何不能使用右鍵?
fscommand(“showmenu”, “false”);
3、用命令載入一個(gè)動(dòng)畫,我需要確定載入動(dòng)畫在畫面中的位置,用什么語(yǔ)言來(lái)設(shè)置?例如載入名為dd.swf的動(dòng)畫,我要確定這個(gè)動(dòng)畫的中心位置在(205,250),該怎么設(shè)置?在要加載動(dòng)畫的那鐘加入:
loadMovie(“dd.swf”, “a”);
a._x=205;
a._y=250;你得先做一個(gè)空的MC起名叫“a”,導(dǎo)入時(shí),在右下角也起名為a。
4、當(dāng)鼠標(biāo)經(jīng)過(guò)時(shí)動(dòng)畫播放到某處:
on(rollover){
gotoAndPlay(10);
} 當(dāng)鼠標(biāo)按下時(shí)動(dòng)畫播放到某處:
on(release){
gotoAndPlay(1);
}
5、播完動(dòng)畫后自動(dòng)跳到某網(wǎng)頁(yè):
getURL(“siteindex.htm”, _self);
6、設(shè)為首頁(yè):
一,用getURL的方法:
設(shè)為首頁(yè):
on(release){
getURL(“getURL(”javascript:void(document.links[0].style.behavior=’url(#default#homepage)’);void document.links[0].setHomePage(’http:// 您的網(wǎng)站地址/’);“, ”_self“, ”POST“);} 加入收藏夾:
on(release){
getURL(”getURL(“javascript:void window.external.AddFavorite(’http://您的網(wǎng)站地 址’,’網(wǎng)站名稱’);”, “_self”, “POST”);} 第二種方法是通過(guò)用fscommand的方法,比上面一個(gè)要復(fù)雜一些。首先在Flash 的按鈕上添加ActionScript腳本代碼
設(shè)為首頁(yè)
on(release){ fscommand(“setHomePage”, “http://您的網(wǎng)站地址”);} 加入收藏夾
on(release){ fscommand(“addFavorite”, “http://網(wǎng)站地址|網(wǎng)站名稱”);} 在發(fā)布 Flash動(dòng)畫時(shí)選上HTML,在Template下拉菜單中選擇Flash with fscommand,發(fā)布出html頁(yè)面接著要對(duì)發(fā)布出來(lái)的HTML頁(yè)面進(jìn)行修改,在HTML代碼中找 到這么一段
// Handle all the the FSCommand messages in a Flash movie&nb sp;function sethomepage_DoFSCommand(command, args){ } 這一段修改成 // Handle all the the FSCommand messages in a Flash movie function sethomepage_DoFSCommand(command, args){
var sethomepageObj = InternetExplorer ? sethomepage : document.sethomepage;if(command == “setHomePage”){
document.links[0].style.behavior = “url(#default#homepage)”;
document.links[0].setHomePage(args);} else if(command == “addFavorite”){ args = args.split(“|”);window.external.AddFavorite(args[0], args[1]);最后,如果html里一個(gè)鏈接都 沒(méi)有,還需在 第二種方法:
也可以在SWF文件的第一幀Actions上的GETURL 命令上加上:
也可以在SWF文件的第一幀Actions上的GETURL 命令上加上:
javascript:window.open(”nfd.swf“,”“,”fullscreen=1,menubar=no,width=800,height=600“)這種全屏也是類似屏 保,用ALT+F4或設(shè)置按鈕退出。把fullscreen設(shè)為=0,則只是不顯示瀏覽器菜
單欄、工具欄的全屏。還有一個(gè)寫法:
javascript:window.open(”*.swf“,”“,”menubar=no, toolbar=no,location=no,status=no,fullscreen=yes“)
我個(gè)人推薦這種^_^ 第三種方法:
稍麻煩一些,需要兩個(gè)網(wǎng)頁(yè),呵呵*—* 你可以建立個(gè)空白網(wǎng)頁(yè)加上代碼 :
*.htm 你把他替換為 你自己要全屏打開的網(wǎng)頁(yè)就可以了
第四種方法:
這種方法更詳細(xì),還有步驟,不過(guò)我沒(méi)有試過(guò),你們可以先試一下啊。我把 操作步驟寫下:
1、在Flashk中做好動(dòng)畫后,首先選擇主菜單中的File Publish Settings(文件發(fā)布設(shè)置命令),彈出對(duì)話框,點(diǎn)擊進(jìn)入HTML項(xiàng)設(shè)置: 設(shè)置Dimensions尺寸單位為Percent百分比;在寬,高中設(shè)置100。再點(diǎn)擊發(fā)布按鈕進(jìn)行發(fā)布即可。這樣,在你原文件處就會(huì)生成一個(gè)和動(dòng)畫同名的HTML 文件。
2、建立一個(gè)空白的HTML頁(yè)面blank.htm,只保留標(biāo)簽部分。
3、建立一個(gè)有帶框架的html文件show.html,頁(yè)面 html文本如下:
該文件將頁(yè)面分為兩個(gè)框 架,上面放動(dòng)畫名.html文件,下面放blank.html文件。注:其中,動(dòng)畫名.html文件是在第一步中發(fā)布出來(lái)的相應(yīng)的html文件。4、建立一個(gè)帶 JavaScript腳本的html文件full.html。用這個(gè)文件打開show.html并 定義其顯示窗口為全屏,不帶菜單,滾動(dòng)條,狀態(tài)欄等。該文件的html文本如 下:
上面的第四步和第三種方法一樣的 9、如何禁止右鍵菜單,fscommand的方法還是只能適用于fp,在網(wǎng)頁(yè)中使用還是必須添加額外的參數(shù),或者用最簡(jiǎn)單的一句as,在fp和網(wǎng)頁(yè)中均適用:
Stage.showMenu=false;
10、播完動(dòng)畫后自動(dòng)跳到某網(wǎng)頁(yè):
getURL(”siteindex.htm“, ”_self“);
最常用的Flash語(yǔ)句flash語(yǔ)句(匯集)FLASH代碼
flash 動(dòng)作語(yǔ)句 flash全屏語(yǔ)句 flash按鈕觸發(fā)語(yǔ)句 flash 最小化語(yǔ)句 flash自動(dòng)跳轉(zhuǎn)語(yǔ)句
1、flash按鈕觸發(fā)語(yǔ)句
box_btn.onPress=function(){ trace(”ok“);};按鈕實(shí)例名稱.事件處理方法=function(){ //處理程序
};例如:
n=1 box_btn.onRelease=function(){ n=n+1 trace(”n=“+n);} 當(dāng)按鈕被點(diǎn)一下的時(shí)候,Output窗口會(huì)輸出:”n=2“ onClipEvent(load){ stop();} 以上是影片剪輯的事件處理函數(shù)?!?)“的內(nèi)部是事件。
在一個(gè)FLASH里在第一個(gè)場(chǎng)景里調(diào)用第二個(gè)場(chǎng)景,要在第一個(gè)場(chǎng)景里需要調(diào)用的地方加個(gè)按鈕,然后在按鈕上寫下如下代碼:
on(release){ tellTarget(”_root“){ gotoAndPlay(”mm2“, 1);} } 其中,”mm2“是第二個(gè)場(chǎng)景的MC的名稱。
on(release){ loadmovie(”fz3.swf“,1);setProperty(”fz3.swf“,_x,100);
setProperty(”fz3.swf“,_y,100);
_root.createEmptyMovieClip(”Card Game“);
mc.loadMovie(”fz3.swf“);
mc._x=0;
mc._y=0;
} fz3.swf是需要調(diào)入的SWF文件,_x,_y是坐標(biāo)軸
Card Game是SWF中MC的名字
on(release)結(jié)構(gòu)只能用于按鈕,其他相關(guān)的幾種用法如on(press)、on(rollOver)、on(rollout)、on(dragOver)、on(dragOut)等。
2.If-else語(yǔ)句
對(duì)if語(yǔ)句可以進(jìn)行擴(kuò)展,使用else執(zhí)行條件不成立(比較表達(dá)式為false)時(shí)的代碼,如下所示:
if(x == 9){ gotoAndPlay(15);} else { gotoAndPlay(16);} 你也可以使用else if語(yǔ)句將if語(yǔ)句更推進(jìn)一步,如下所示: if(x == 9){ gotoAndPlay(15);} else if(x == 10){ gotoAndPlay(16);} else if(x == 11){ gotoAndPlay(20);} else { gotoAndPlay(25);} 你可以讓if語(yǔ)句想要多長(zhǎng)就有多長(zhǎng),你也可以使用else if語(yǔ)句對(duì)別的變量進(jìn)行比較,如下所示:
if(x == 9){ gotoAndPlay(15);} else if(y<20){ gotoAndPlay(16);} else { gotoAndPlay(25);} 復(fù)合比較
你可以在一個(gè)if語(yǔ)句中對(duì)幾個(gè)比較表達(dá)式的值進(jìn)行判斷,比如說(shuō)你希望在x為9并且y為20時(shí)跳轉(zhuǎn)到第10幀,可以使用如下所示的腳本:
if((x == 9)&&(y == 20)){ gotoAndPlay(10);} 邏輯與運(yùn)算符&&將兩個(gè)比較表達(dá)式聯(lián)接在一起成為一個(gè)復(fù)合表達(dá)式,當(dāng)兩個(gè)表達(dá)式的值都為true時(shí)復(fù)合表達(dá)式的值才為true。
每個(gè)比較表達(dá)式都需要添加獨(dú)立的括號(hào)以便Flash能正確識(shí)別。
在Flash的早期版本中使用and執(zhí)行邏輯與運(yùn)算,現(xiàn)在已推薦不使用。
你也可以使用邏輯或運(yùn)算符||將兩個(gè)比較表達(dá)式聯(lián)接在一起成為一個(gè)復(fù)合表達(dá)式,只要有一個(gè)表達(dá)式的值為true,復(fù)合表達(dá)式的值就為true。如下所示:
if((x == 7)||(y == 15)){ gotoAndPlay(20);} 在該腳本中,只要x為7或者y為15,或者兩者都成立,結(jié)果都是跳轉(zhuǎn)到第20幀。
只有當(dāng)兩者都不成立時(shí),才不會(huì)執(zhí)行g(shù)otoAndPlay命令。
3、函數(shù)
到現(xiàn)在為止,我們都是將腳本放在影片的第1幀中。
如果程序相當(dāng)復(fù)雜,再放在同一幀中就使腳本顯得太龐大了。
函數(shù)使你可以組織需重用的代碼,并放在時(shí)間軸中,例如: function myFunction(myNum){ var newNum = myNum+5;return newNum;} 函數(shù)以關(guān)鍵字function開頭,function后面是函數(shù)名。
與變量名相似,你可以指定自己的函數(shù)名,最好將函數(shù)名取得有意義一些。
函數(shù)名后面的括號(hào)容納該函數(shù)的參數(shù),所謂參數(shù)也是一個(gè)變量,它的值在調(diào)用該函數(shù)時(shí)予以指定。
一個(gè)函數(shù)可以有若干參數(shù),也可以沒(méi)有參數(shù)。無(wú)論有沒(méi)有參數(shù),函數(shù)名后都應(yīng)緊跟一對(duì)括號(hào)。
大括號(hào)中的部分是函數(shù)體,在函數(shù)體中創(chuàng)建了一個(gè)局部變量newNum,將myNum加5的結(jié)果設(shè)置為newNum的值。
如果你將10作為參數(shù)傳遞給該函數(shù),newNum的值就是15。
return命令僅用于函數(shù)中,使用return結(jié)束一個(gè)函數(shù)并返回函數(shù)值。
此處,newNum是用return命令返回的函數(shù)值。
要使用函數(shù),就需要調(diào)用它,如下所示:
var a = myFunction(7);該語(yǔ)句創(chuàng)建一個(gè)新的局部變量a,將7作為參數(shù)調(diào)用函數(shù)myFunction,并將函數(shù)返回的結(jié)果作為變量a的值。
被調(diào)用的函數(shù)開始運(yùn)行,創(chuàng)建一個(gè)局部變量myNum,將7作為myNum的值,然后執(zhí)行函數(shù)體內(nèi)的代碼,使用return命令將newNum的值12返回給函數(shù)的調(diào)用者。這時(shí),a的值變?yōu)?2。
函數(shù)最大的作用體現(xiàn)在它可以重復(fù)使用。如下所示的3行代碼產(chǎn)生3個(gè)不同的結(jié)果:
trace(myFunction(3));trace(myFunction(6));trace(myFunction(8));運(yùn)行以上代碼,你將得到結(jié)果8、11和13。
使用函數(shù)還有一個(gè)好處就是可以只改變函數(shù)中的一處,從而影響所有調(diào)用該函數(shù)的命令。
例如,將函數(shù)myFunction中的var newNum = myNum+5改成var newNum = myNum+7,上面3個(gè)調(diào)用該函數(shù)的命令的結(jié)果將變成10、13和15點(diǎn)語(yǔ)法的另一個(gè)用途是指定影片剪輯的屬性。
如下面的語(yǔ)句將影片剪輯myMC的_alpha(透明度)屬性設(shè)置為50%:
myMC._alpha = 50;你還可以在影片剪輯中使用點(diǎn)語(yǔ)法定位根(root)中的一個(gè)全局變量。
如果你在主時(shí)間軸中創(chuàng)建了一個(gè)全局變量globelVar,而要在影片剪輯中使用這個(gè)全局變量,可以使用如下的語(yǔ)句:
trace(_root.globleVar);stop:使影片停止在當(dāng)前時(shí)間軸的當(dāng)前幀中。
play:使影片從當(dāng)前幀開始繼續(xù)播放。
gotoAndStop:跳轉(zhuǎn)到用幀標(biāo)簽或幀編號(hào)指定的某一特定幀并停止。gotoAndPlay:跳轉(zhuǎn)到用幀標(biāo)簽或幀編號(hào)指定的某一特定幀并繼續(xù)播放。
nextFrame:使影片轉(zhuǎn)到下一幀并停止。
prevFrame:使影片回到上一幀并停止。
stop命令常常用在幀動(dòng)作中,以使影片停止并等待用戶控制。
其他命令常常用在按鈕的事件處理函數(shù)中。
如果gotoAndPlay命令中只有一個(gè)參數(shù),F(xiàn)lash將認(rèn)為它代表某個(gè)幀;
如果有兩個(gè)參數(shù),第1個(gè)參數(shù)將作為場(chǎng)景名,第2個(gè)參數(shù)代表該場(chǎng)景中的幀。
要定位包含某一對(duì)象的上一級(jí)對(duì)象,可以使用關(guān)鍵字_parent。
如果一個(gè)影片剪輯是包含在主時(shí)間軸中,在影片剪輯中使用_parent和_root的效果是一樣的。
如果影片剪輯與主時(shí)間軸相差兩個(gè)層級(jí),即當(dāng)影片剪輯包含在另一個(gè)位于主時(shí)間軸中的影片剪輯中,這時(shí)在該影片剪輯中使用_parent指代的是它上一級(jí)的影片剪輯,而_root是指它上兩級(jí)的主時(shí)間軸。在主時(shí)間軸中不能使用_parent,因?yàn)橹鲿r(shí)間軸沒(méi)有上一級(jí)。
4、.詳細(xì)了解GOTO語(yǔ)句
prevFrame()
跳至并停止在前一禎。
nextFrame()
跳至并停止在下一禎。
prevScene()
跳至并停止在前一場(chǎng)景的第1幀。nextScene()
跳至并停止在下一場(chǎng)景的第1幀。
gotoAndPlay([scene,] frame)
跳至scene場(chǎng)景(省略表示當(dāng)前場(chǎng)景)的frame幀并播放。
gotoAndStop([scene,] frame)
跳至scene場(chǎng)景(省略表示當(dāng)前場(chǎng)景)的frame幀并停止。
5、了解MC的各種可改寫的屬性
_x 中心點(diǎn)所在相對(duì)X坐標(biāo)(象素單位)
_y 中心點(diǎn)所在相對(duì)Y坐標(biāo)(象素單位)
_xscale 橫向縮放比例,初始為100
_yscale 縱向縮放比例,初始為100
_rotation 相對(duì)旋轉(zhuǎn)角度(度單位)
_width 相對(duì)顯示寬度(象素單位)
_height 相對(duì)顯示高度(象素單位)
_alpha 顯示透明度(0~100)
_visible 是否可見
_focusrect 是否顯示焦點(diǎn)框
_name 實(shí)例名稱
6、三大紀(jì)律: 1>寫代碼時(shí)一定要用英文(如EN CH)輸入法
2>必須要有唯物主義思想,沒(méi)有加載的MC是不可以更改它的屬
性,更不可以寫代碼去控制它。這個(gè)問(wèn)題較難掌握,高手有時(shí)也會(huì)
犯,道理就是先有吃的才能請(qǐng)客吃,啥也沒(méi)有請(qǐng)客吃什么呢
3>操作什么一定要選什么(實(shí)際上哪個(gè)軟件也要這樣)。在MX中加代
碼時(shí)如不選,就一定要寫明名稱,實(shí)際上也是一種先擇。
7、八項(xiàng)注意: 1>按鈕不能蓋著輸入文本,動(dòng)態(tài)文本和輸入文本域不能蓋著按鈕
2>用loadMoie時(shí)LEVEL1及以上的文件盡量少用大隱型按鈕
3>從一個(gè)文件中復(fù)制MC實(shí)例到別一個(gè)文件中時(shí),盡量復(fù)制幀,而不能直接
復(fù)制實(shí)例,4>從一個(gè)文件中復(fù)制MC實(shí)例到別一個(gè)文件中時(shí),要先把目標(biāo)文件中的符
號(hào)庫(kù)中原有的符號(hào),裝進(jìn)資夾里,很多網(wǎng)友這個(gè)問(wèn)題上上過(guò)當(dāng)吧?
需要記住一個(gè)動(dòng)作的作用時(shí),可在動(dòng)作面板中使用comment(注釋)語(yǔ)句給幀或按鈕動(dòng)作添加注釋。如果你在協(xié)作環(huán)境中工作或給別人提供范例,添加注釋有助于別人對(duì)你編寫的腳本的正確理解。
在動(dòng)作面板中選擇comment動(dòng)作時(shí),字符”//“被插入到腳本中。如果在你創(chuàng)建腳本時(shí)加上注釋,即使是較復(fù)雜的腳本也易于理解,例如:
on(release){ //建立新的日期對(duì)象 myDate = new Date();currentMonth=myDate.getMonth();//把用數(shù)字表示的月份轉(zhuǎn)換為用文字表示的月份
monthName = calcMoth(currentMonth);year = myDate.getFullYear();currentDate = myDate.getDat();}
常量
常量有其值永不改變的屬性。常數(shù)用大寫字母列于動(dòng)作工具箱中。例如,常數(shù)BACKSPACE、ENTER、QUOTE、RETURN、SPACE和TAB是Key對(duì)象的屬性,指鍵盤上的鍵。要測(cè)試用戶是否在按Enter鍵,可使用下面的語(yǔ)句:
if(keycode()= =key.ENTER){ alert = ”你準(zhǔn)備好了嗎?“ controlMC.gotoAndStop(5);}
影片剪輯
1、load enterFrame load在整個(gè)動(dòng)畫中只加載一次,enterFrame不管是否有stop都要一直加載,直至關(guān)閉
onClipEvent(load){ var i = 0;} onClipEvent(enterFrame){ trace(i);i++;}
2、startDrag()(可做鼠標(biāo)跟隨)
用法
startDrag(target,[lock ,left , top , right, bottom])參數(shù)
target 要拖動(dòng)的影片剪輯的目標(biāo)路徑。
lock 一個(gè)布爾值,指定可拖動(dòng)影片剪輯是鎖定到鼠標(biāo)位置中央(true),還是鎖定到用戶首次單擊該影片剪輯的位置上(false)。此參數(shù)是可選的。
left、top、right、bottom 相對(duì)于影片剪輯父級(jí)坐標(biāo)的值,這些值指定該影片剪輯的約束矩形。這些參數(shù)是可選的。返回 無(wú)。說(shuō)明
函數(shù);使 target 影片剪輯在影片播放過(guò)程中可拖動(dòng)。一次只能拖動(dòng)一個(gè)影片剪輯。執(zhí)行了 startDrag()操作后,影片剪輯將保持可拖動(dòng)狀態(tài),直到用 stopDrag()明確停止拖動(dòng)為止,或直到對(duì)其它影片剪輯調(diào)用了 startDrag()動(dòng)作為止。示例
若要?jiǎng)?chuàng)建用戶可以放在任何位置的影片剪輯,可將 startDrag()和 stopDrag()動(dòng)作附加到該影片剪輯內(nèi)的某個(gè)按鈕上。on(press){ startDrag(this,true);} on(release){ stopDrag();} 若在動(dòng)畫開始時(shí)影片剪輯跟隨鼠標(biāo) onClipEvent(load){ Mouse.hide();startDrag(this, true, 0, 0, 550, 400);}
duplicateMovieClip 函數(shù)
duplicateMovieClip(target:String, newname:String, depth:Number): Void duplicateMovieClip(target:MovieClip, newname:String, depth:Number): Void 當(dāng) SWF 文件正在播放時(shí),創(chuàng)建一個(gè)影片剪輯的實(shí)例。無(wú)論播放頭在原始影片剪輯中處于什么位置,在重復(fù)的影片剪輯中,播放頭始終從第 1 幀開始。原始影片剪輯中的變量不會(huì)復(fù)制到重復(fù)的影片剪輯中。使用 removeMovieClip()函數(shù)或方法可以刪除用 duplicateMovieClip()創(chuàng)建的影片剪輯實(shí)例??捎眯裕篎lash Player 4;ActionScript 1.0 參數(shù)
target:Object所復(fù)制的影片剪輯的唯一標(biāo)識(shí)符。depth:Number-所復(fù)制的影片剪輯的唯一深度級(jí)別。深度級(jí)別是所復(fù)制的影片剪輯的堆疊順序。這種堆疊順序很像時(shí)間軸中圖層的堆疊順序;較低深度級(jí)別的影片剪輯隱藏在較高堆疊順序的剪輯之下。必須為每個(gè)所復(fù)制的影片剪輯分配一個(gè)唯一的深度級(jí)別,以防止它替換已占用深度上的 SWF 文件。示例
在下面的示例中,將創(chuàng)建一個(gè)名為 img_mc 的新影片剪輯實(shí)例。將一個(gè)圖像加載到該影片剪輯中,然后復(fù)制 img_mc 剪輯。所復(fù)制的剪輯名為 newImg_mc,這個(gè)新剪輯將移至舞臺(tái)上,因此它不會(huì)與原始剪輯重疊,并且將同一圖像加載到第二個(gè)剪輯中。this.createEmptyMovieClip(”img_mc“, this.getNextHighestDepth());img_mc.loadMovie(”http://004km.cn/flash/images/image1.jpg“);duplicateMovieClip(img_mc, ”newImg_mc“, this.getNextHighestDepth());newImg_mc._x = 200;newImg_mc.loadMovie(”http://004km.cn/flash/images/image1.jpg“);要?jiǎng)h除重復(fù)的影片剪輯,可為名為 myButton_btn 的按鈕添加以下代碼。this.myButton_btn.onRelease = function(){ removeMovieClip(newImg_mc);};
eval 該變量或?qū)傩缘闹?。如果表達(dá)式是對(duì)象或影片剪輯,則返回對(duì)該對(duì)象或影片剪輯的引用。如果無(wú)法找到表達(dá)式中列舉的元素,則返回 undefined。
下面的示例使用 eval()為動(dòng)態(tài)命名的影片剪輯設(shè)置屬性。此 ActionScript 為三個(gè)影片剪輯(分別稱為 square1_mc、square2_mc 和 square3_mc)設(shè)置 _rotation 屬性。
for(var i = 1;i <= 3;i++){ eval(”square“+i+”_mc")._rotation= 5;} 就可以使square1_mc、square2_mc 和 square3_mc角度都變成5
簡(jiǎn)單來(lái)說(shuō)就是用字符串或者變量組合起來(lái)得到對(duì)象,變量..
第二篇:FLASH總結(jié)
2010.12.7 FLASH總結(jié)(紅藍(lán)粉)
1:幀,分為普通幀(灰色塊。作用:延遲空白關(guān)鍵幀或關(guān)鍵幀的顯示時(shí)間),空白關(guān)鍵幀,關(guān)鍵幀,過(guò)渡幀(補(bǔ)間形狀,綠色;補(bǔ)間動(dòng)畫,藍(lán)色;傳統(tǒng)補(bǔ)間,淡紫色)。對(duì)于幀的其他編輯:
刪除幀,清除關(guān)鍵幀,轉(zhuǎn)化為關(guān)鍵幀,轉(zhuǎn)化為空白關(guān)鍵幀,剪切幀,復(fù)制幀,粘貼幀,清除幀,選中所有幀,翻轉(zhuǎn)幀(選中部分幀右擊選擇翻轉(zhuǎn)幀。可以達(dá)到動(dòng)畫翻轉(zhuǎn)過(guò)來(lái)的效果。比如說(shuō)原來(lái)是打出來(lái)字的效果,進(jìn)行翻轉(zhuǎn)后就可達(dá)到刪除文字的效果。就好像時(shí)間軸倒過(guò)來(lái)播放似的)。
2:元件,分為圖形元件(受主時(shí)間軸的限制),按鈕元件(四幀,由鼠標(biāo)事件觸發(fā)),影片剪輯(不受主時(shí)間軸的限制)。對(duì)于元件的其他操作:
替換元件(或稱交換元件,右擊或在屬性中進(jìn)行編輯)3:文本,靜態(tài)文本,動(dòng)態(tài)文本(發(fā)布后,由系統(tǒng)里AS腳本來(lái)動(dòng)態(tài)改變文本內(nèi)容,例如:貪吃蛇里的計(jì)數(shù)器),輸入文本(接受用戶輸入的文字,相當(dāng)于輸入文本框)。對(duì)于文本的其他操作
打散(或稱分離文本),可以對(duì)文本設(shè)置文本超鏈接 4:動(dòng)畫,逐幀動(dòng)畫,補(bǔ)間動(dòng)畫(補(bǔ)間形狀,補(bǔ)間動(dòng)畫和傳統(tǒng)補(bǔ)間),IK反向運(yùn)動(dòng)姿勢(shì)動(dòng)畫,ActionScript動(dòng)畫(例如:猜數(shù)字)。關(guān)于補(bǔ)間動(dòng)畫:
(1)補(bǔ)間形狀(幀:綠色)
繪制第一個(gè)和最后一個(gè)關(guān)鍵幀,中間的過(guò)渡幀由系統(tǒng)自動(dòng)補(bǔ)齊,發(fā)布時(shí)只保存關(guān)鍵幀,過(guò)渡幀不保存,所以體積較小。補(bǔ)間形狀的過(guò)渡幀顏色為綠色,成功的過(guò)渡幀動(dòng)
畫顯示黑色箭頭。失敗的顯示虛線例如。補(bǔ)間形狀一般是形狀顏色的變化,不能是元件。
(2)傳統(tǒng)補(bǔ)間動(dòng)畫(元件)(幀:淺藍(lán)或淡紫)(3)補(bǔ)間動(dòng)畫(對(duì)象沿指定路徑運(yùn)動(dòng))(幀:藍(lán)色)繪制第一幀和最后一個(gè)關(guān)鍵幀,中間的過(guò)渡幀由系統(tǒng)自動(dòng)成,發(fā)布時(shí)只是保存關(guān)鍵幀,過(guò)渡幀不保存,所以體積較小。補(bǔ)間動(dòng)畫的過(guò)渡幀顏色為灰藍(lán)色,成功的過(guò)渡幀動(dòng)畫顯 示黑色箭頭。失敗的顯示虛線例如。補(bǔ)間動(dòng)畫,一般做的都是元件整體的變大縮小,旋轉(zhuǎn),移動(dòng)等。
Flash CS4 補(bǔ)間動(dòng)畫、形狀補(bǔ)間、傳統(tǒng)補(bǔ)間
補(bǔ)間動(dòng)畫一次只能單獨(dú)的設(shè)置加速,傳統(tǒng)補(bǔ)間一次可做加速和減速
形狀補(bǔ)間:矢量圖之間的變形補(bǔ)間動(dòng)畫,比如說(shuō)一個(gè)圓形變成一個(gè)方形,或者字母A變成字母B,這種補(bǔ)間動(dòng)畫改變了圖的本身性質(zhì),在flash里,這種補(bǔ)間要求是矢量圖才可以的。一般的字或圖需要打散變成矢量圖才能操作形狀。
補(bǔ)間動(dòng)畫和傳統(tǒng)補(bǔ)間之間地差異包含: 傳統(tǒng)補(bǔ)間使用關(guān)鍵幀。關(guān)鍵幀是其中顯現(xiàn)對(duì)象地新實(shí)例地幀。補(bǔ)間動(dòng)畫只能具有一個(gè)與之關(guān)聯(lián)地對(duì)象實(shí)例,并使用屬性關(guān)鍵幀而不是關(guān)鍵幀。2 補(bǔ)間動(dòng)畫在整個(gè)補(bǔ)間范圍上由一個(gè)目標(biāo)對(duì)象組成。補(bǔ)間動(dòng)畫和傳統(tǒng)補(bǔ)間都只允許對(duì)特定類型地對(duì)象進(jìn)行補(bǔ)間。若應(yīng)用補(bǔ)間動(dòng)畫,則在創(chuàng)建補(bǔ)間時(shí)會(huì)將一切不允許地對(duì)象類型轉(zhuǎn)換為影片剪輯。而應(yīng)用傳統(tǒng)補(bǔ)間會(huì)將這些對(duì)象類型轉(zhuǎn)換為圖形元件。補(bǔ)間動(dòng)畫會(huì)將文本視為可補(bǔ)間地類型,而不會(huì)將文本對(duì)象轉(zhuǎn)換為影片剪輯。傳統(tǒng)補(bǔ)間會(huì)將文本對(duì)象轉(zhuǎn)換為圖形元件。在補(bǔ)間動(dòng)畫范圍上不允許幀腳本。傳統(tǒng)補(bǔ)間允許幀腳本。補(bǔ)間目標(biāo)上地任何對(duì)象腳本都無(wú)法在補(bǔ)間動(dòng)畫范圍地進(jìn)程中更改。能夠在時(shí)間軸中對(duì)補(bǔ)間動(dòng)畫范圍進(jìn)行拉伸和調(diào)整大小,并將它們視為單個(gè)對(duì)象。傳統(tǒng)補(bǔ)間包含時(shí)間軸中可辨別選擇地幀地組。若要在補(bǔ)間動(dòng)畫范圍中選擇單個(gè)幀,必需按住 Ctrl(Windows)或 Command(Macintosh)單擊幀。166 使用 FLASH CS4 PROFESSIONAL時(shí)間軸和動(dòng)畫 對(duì)于傳統(tǒng)補(bǔ)間,緩動(dòng)可應(yīng)用于補(bǔ)間內(nèi)關(guān)鍵幀之間地幀組。對(duì)于補(bǔ)間動(dòng)畫,緩動(dòng)可應(yīng)用于補(bǔ)間動(dòng)畫范圍地整個(gè)長(zhǎng)度。若要僅對(duì)補(bǔ)間動(dòng)畫地特定幀應(yīng)用緩動(dòng),則需要?jiǎng)?chuàng)建自定義緩動(dòng)曲線。利用傳統(tǒng)補(bǔ)間,能夠在兩種不同地色彩效果(如色調(diào)和 Alpha 透明度)之間創(chuàng)建動(dòng)畫。補(bǔ)間動(dòng)畫能夠?qū)γ總€(gè)補(bǔ)間應(yīng)用一種色彩效果。只能夠使用補(bǔ)間動(dòng)畫來(lái)為 3D 對(duì)象創(chuàng)建動(dòng)畫效果。無(wú)法使用傳統(tǒng)補(bǔ)間為 3D 對(duì)象創(chuàng)建動(dòng)畫效果。12 只有補(bǔ)間動(dòng)畫才能保存為動(dòng)畫預(yù)設(shè)。對(duì)于補(bǔ)間動(dòng)畫,無(wú)法交換元件或設(shè)置屬性關(guān)鍵幀中顯現(xiàn)地圖形元件地幀數(shù)。應(yīng)用了這些技術(shù)地動(dòng)畫要求使用傳統(tǒng)補(bǔ)間。
動(dòng)作補(bǔ)間動(dòng)畫是指在Flash的時(shí)間幀面板上,在一個(gè)關(guān)鍵幀上放置一個(gè)元件,然后在另一個(gè)關(guān)鍵幀改變這個(gè)元件的大小、顏色、位置、透明度等,F(xiàn)lash 將自動(dòng)根據(jù)二者之間的幀的值創(chuàng)建的動(dòng)畫。動(dòng)作補(bǔ)間動(dòng)畫建立后,時(shí)間幀面板的背景色變?yōu)榈仙?,在起始幀和結(jié)束幀之間有一個(gè)長(zhǎng)長(zhǎng)的箭頭;構(gòu)成動(dòng)作補(bǔ)間動(dòng)畫的元素是元件,包括影片剪輯、圖形元件、按鈕、文字、位圖、組合等等,但不能是形狀(或稱之為矢量圖),只有把形狀組合(Ctrl+G)或者轉(zhuǎn)換成元件后才可以做動(dòng)作補(bǔ)間動(dòng)畫。
形狀補(bǔ)間動(dòng)畫是在Flash的時(shí)間幀面板上,在一個(gè)關(guān)鍵幀上繪制一個(gè)形狀,然后在另一個(gè)關(guān)鍵幀上更改該形狀或繪制另一個(gè)形狀等,F(xiàn)lash將自動(dòng)根據(jù)二者之間的幀的值或形狀來(lái)創(chuàng)建的動(dòng)畫,它可以實(shí)現(xiàn)兩個(gè)圖形之間顏色、形狀、大小、位置的相互變化。形狀補(bǔ)間動(dòng)畫建立后,時(shí)間幀面板的背景色變?yōu)榈G色,在起始幀和結(jié)束幀之間也有一個(gè)長(zhǎng)長(zhǎng)的箭頭;構(gòu)成形狀補(bǔ)間動(dòng)畫的元素多為用鼠標(biāo)或壓感筆繪制出的形狀,而不能是圖形元件、按鈕、文字等,如果要使用圖形元件、按鈕、文字,則必先打散(Ctrl+B)后才可以做形狀補(bǔ)間動(dòng)畫。
傳統(tǒng)補(bǔ)間設(shè)置鏡頭的效果。
5:引導(dǎo)層和遮罩層
引導(dǎo)層:創(chuàng)建方法,新建兩個(gè)圖層,引導(dǎo)層上繪制路徑,被引導(dǎo)層上創(chuàng)建補(bǔ)間動(dòng)畫,注意必須將開始關(guān)鍵幀和結(jié)束關(guān)鍵幀放在曲線的兩個(gè)端點(diǎn)上。
擴(kuò)展1:對(duì)于一個(gè)引導(dǎo)層而言,可以包含多個(gè)被引導(dǎo)層。擴(kuò)展2:讓對(duì)象調(diào)整到路徑,作用是補(bǔ)間對(duì)象沿著路徑移動(dòng)時(shí)進(jìn)行旋轉(zhuǎn)。方法是在補(bǔ)間對(duì)象的屬性中的修改中把“調(diào)整至路徑”勾上。
遮罩層:在被遮罩層有像素的地方顯示遮罩層有像素的地方。即被遮罩層上的像素是不可能被顯示的。創(chuàng)建方法,新建兩個(gè)圖層,而后對(duì)兩個(gè)圖層進(jìn)行操作。
擴(kuò)展1:對(duì)于一個(gè)遮罩層而言,可以包含多個(gè)被遮罩層。6:ActionScript(只有在關(guān)鍵幀中能夠進(jìn)行action的相關(guān)編輯)
on(release){ } 說(shuō)明:第一行是觸發(fā)動(dòng)作的事件,將鼠標(biāo)指針移到按鈕上單擊并且釋放鼠標(biāo)。
第二行是事件所觸發(fā)的動(dòng)作,轉(zhuǎn)到當(dāng)前場(chǎng)景,時(shí)間軸的第15開始播放。
補(bǔ)充:第二行的前面還可以加上影片剪輯元件的名稱,此時(shí)會(huì)跳轉(zhuǎn)到相應(yīng)元件的第某幀,而非場(chǎng)景的某幀。
補(bǔ)充:第二行括號(hào)里的參數(shù)可以有場(chǎng)景,例如:gotoAndPlay(“場(chǎng)景2”,2);此時(shí)表示跳轉(zhuǎn)到場(chǎng)景2的第二幀。on(release){ getURL(“http://004km.cn或index.html【可以用gotoAndPlay(15);相對(duì)路徑】”,“_blank或_parent或_self或_top”,“POST或GET”);//注意雙引號(hào)不能丟。} Stop();
on(release){
loadVariables(“hslk.asp”,“",”GET“);} on(release){ } 7:flash相關(guān)概念及其聯(lián)系
場(chǎng)景(一個(gè)swf文件中可以有多個(gè)場(chǎng)景,當(dāng)?shù)谝粋€(gè)場(chǎng)景內(nèi)的所有對(duì)象播放完畢后才會(huì)播放第二個(gè)場(chǎng)景的相關(guān)對(duì)象),時(shí)間軸,幀,圖層(以及文件夾),對(duì)象 8:flash動(dòng)畫的優(yōu)化
位圖轉(zhuǎn)換為矢量圖,盡量少地創(chuàng)建關(guān)鍵幀和空白關(guān)鍵幀,盡量的使用元件,完成作品的思路的整理 9:flash中的聲音
事件流(事件發(fā)生時(shí)播放)和數(shù)據(jù)流(和時(shí)間軸同步),在可以進(jìn)行聲音屬性面板中的相關(guān)編輯(例如:效果)。10:結(jié)合別的工具對(duì)swf文件進(jìn)行編輯 做圖像的時(shí)候用ps處理及優(yōu)化 11:項(xiàng)目經(jīng)驗(yàn)小結(jié) getURL(”index.html“,”_blank“,”get");圖層和影片剪輯的應(yīng)用
第三篇:在網(wǎng)頁(yè)中插入flash的標(biāo)準(zhǔn)代碼
使用可實(shí)現(xiàn)Flash動(dòng)畫的插入,但也可以用標(biāo)記插入Flash動(dòng)畫,但后者有些復(fù)雜,若要和前者一樣實(shí)現(xiàn)動(dòng)畫的插入,必須要加:才能實(shí)現(xiàn)flash動(dòng)畫的插入。我想問(wèn)下,前者和后者的功能應(yīng)該差不多是吧,為什么后者那么麻煩,要加這么多的參數(shù)。還有就是object標(biāo)簽里面去掉data=“1.swf”,運(yùn)行后好像正常的。加不加都沒(méi)區(qū)別嗎?謝謝啦??!
兩個(gè)標(biāo)簽都可以實(shí)現(xiàn)在網(wǎng)頁(yè)中插入視頻或flash,object是微軟的ie瀏覽器支持的的,當(dāng)然微軟也認(rèn)嵌入標(biāo)簽embed.N的瀏覽器支持embed但忽略object。
據(jù)說(shuō)object是發(fā)展方向.將來(lái)embed要淘汰?,F(xiàn)在一般object內(nèi)套embed,是為了在各種瀏覽器里都取得最佳瀏覽效果.如此而已,單用其一一般都可以。
我舉一段html插入flash動(dòng)畫的比較標(biāo)準(zhǔn)的代碼: