flash_常用函數(shù)_第1頁(yè)
flash_常用函數(shù)_第2頁(yè)
flash_常用函數(shù)_第3頁(yè)
flash_常用函數(shù)_第4頁(yè)
flash_常用函數(shù)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、flash 常用函數(shù)一. 影片控制函數(shù) 1) gotoandplay 跳轉(zhuǎn)某一幀播放 2) gotoandstop 跳轉(zhuǎn)某一幀停止 3) nextframe 轉(zhuǎn)到下一幀 如 on(press) nextframe; 4) prevframe 轉(zhuǎn)到上一幀 如 on(press) prevframe; 5) play 開(kāi)如向后播放影片 如on(press)play(); 6) stop 停止當(dāng)前播放位置 如on(press)stop(); 7) nextscene 轉(zhuǎn)到下一個(gè)場(chǎng)景如 on(press)nextscene(); 8) prevscene 轉(zhuǎn)到上一個(gè)場(chǎng)景如 on(press)prevs

2、cene(); 9) stopallsounds 停止所有聲音如 on(press)stopallsounds(); 二.濟(jì)覽器/網(wǎng)絡(luò) 1) fscommand("fullscreen", "true"); 全屏顯示 可以加在第一幀中,也可以加在按加在按鈕中.如加在按鈕中則為on(press)fscommand("fullscreen", "true"); fscommand("quit"); 退出 如果加在幀中程序?yàn)閒scommand("quit"); 意為當(dāng)播放此幀自動(dòng)退

3、出. 若加在銨鈕中則為on (release) fscommand("quit");意為當(dāng)單擊時(shí)退出. 2) geturl 定位地址 可以對(duì)文件加,也可以對(duì)按鈕加. 對(duì)文本加:選中整個(gè)文本或單個(gè)文字,在文本屬性欄的鏈接加地址如: 對(duì)按鈕加:選中按鈕,點(diǎn)動(dòng)作,雙擊geturl 結(jié)果為: on(press)geturl("","_blank"); /blank以新的窗口打開(kāi) 3) loadmovie 從外部地直加載影片 可以對(duì)按鈕加,也可以對(duì)幀加 按鈕加如: on(press)loadmovienum("a.swf",

4、"1"); 給幀加:loadmovienum("a.swt","1"); FLASH動(dòng)作腳本代碼集錦 1 、簡(jiǎn)單 loading 代碼: 方法 1 、使用載入字節(jié)數(shù)判斷 b=getBytesTotal();/ 獲取總的字節(jié)數(shù) a=getBytesLoaded();/ 已經(jīng)下載的字節(jié)數(shù) onEnterFrame=function()/ 進(jìn)入幀時(shí) , 進(jìn)行判斷 if (a = b) / 如果載入的字節(jié)數(shù)等于總的字節(jié)數(shù) delete this.onEnterFrame/ 刪除進(jìn)入幀 gotoAndPlay("frame"

5、);/ 轉(zhuǎn)入到你要播放的幀 else / 否則 a=getBytesLoaded();/ 已經(jīng)下載的字節(jié)數(shù) percent=int(a/b*100)+"%"/ 計(jì)算已經(jīng)下載的百分比 把上面方法放入第一幀就可以了 方法 2 、使用載入的幀數(shù)判斷_ 用 Action 語(yǔ)法地 if frame is loaded 來(lái)實(shí)現(xiàn) , 新建一層,這層專(zhuān)門(mén)放 Action, 第一幀, ifFrameLoaded (" 場(chǎng)景 ", frame) / 假如場(chǎng)景中地禎數(shù)已經(jīng)載入 goto and play() / 跳至并播放某某禎 ( 自己設(shè)定 ) 第二幀, O*NpQ got

6、o and play(" 場(chǎng)景 1", 1)/ 跳至并播放第一禎循環(huán) 再加上一個(gè) load 地 MC 循環(huán)播放在這兩幀的中間,就 OK 了。 2 、用 flash 做那種彈出的小窗口 分兩步: 給 flash 中的按鈕加入如下 action: on (release) idd getURL ("javascript:MM_openBrWindow('newweb.htm','','width=600,height=100')"); 在 HTML 頁(yè)面的 <head>.</head>

7、之間加入下面的 javascript 代碼 . <script language="javascript"> <!- Y function MM_openBrWindow(theURL,winName,features) /v2.0 window.open(theURL,winName,features); ; /-> </script> 3 、載入 swf 文件的控制 在 flash 中可以使用 loadmovie ()和 loadmovienum ()兩個(gè)函數(shù)控制,具體代碼如下: loadmovie 載入的控制 _root.creat

8、eEmptyMovieClip ( "aa" , 1 ); with ( aa ) _x = 50 ; _y = 100 ; _width=200 _height=300 _alpha=50 loadMovie ( "02.swf" ); loadMovieNum 的載入控制: loadMovieNum ( "02.swf" , 1 ); onEnterFrame = function () if ( _level1 ) with ( _level1 ) _x = 50 ; _y = 100 ; delete onEnterFrame

9、 ; ; 在 flash 2004 中,增加了 MovieClipLoader 類(lèi),使用它可以控制播放,下面是一個(gè)測(cè)試代碼: var mcl= new MovieClipLoader(); / 定義新的 MovieClipLoader 對(duì)象 var listener = new Object(); / 定義一個(gè)新的對(duì)象,用來(lái)監(jiān)聽(tīng) load 進(jìn)程 listener.onLoadProgress=function(target,loadedBytes,totalBytes ) /onloadprogress 加載過(guò)程中每當(dāng)將加載的內(nèi)容寫(xiě)入磁盤(pán)時(shí)調(diào)用 / 其中 loadedBytes 是已經(jīng)下載的字

10、節(jié), totalBytes 是正在加在的文件的總字節(jié)數(shù) x=loadedBytes y=totalBytes /trace(x+ " bytes 已經(jīng) load 了 "); /trace(totalBytes + " bytes 需要 load"); d=x*100/y / 計(jì)算已經(jīng)載入的百分比 ) listener.onLoadInit = function(target) / 當(dāng)執(zhí)行加載的剪輯的第一幀上的動(dòng)作時(shí)調(diào)用 if(d<100) / 如果沒(méi)有加載完成,不要播放 target.stop(); else / 加載完成,可以設(shè)置加載的 swf

11、文件開(kāi)始播放的幀數(shù) target.gotoAndPlay(2); target._width=400 / 設(shè)置加載的影片的大小及其位置等相關(guān)屬性 target._height=350 target._x=25 target._y=50 mcl.addListener(listener); / 注冊(cè)一個(gè)新的監(jiān)聽(tīng)對(duì)象 mcl.loadClip("*.swf",1)/ 使用自定義的對(duì)象,加載 swf 文件 4 、設(shè)為首頁(yè) on (release) getURL("javascript:void(document.links.style.behavior='url

12、(#default#homepage)');voiddocument.links.setHomePage(' "POST"); 注意要將網(wǎng)頁(yè)中的 flash 的 ID 號(hào)命名為 "links" 加入收藏夾 on (release) getURL("javascript:void window.external.AddFavorite(' ',' 網(wǎng)頁(yè) ');","_self", "POST"); 5 、如何隨機(jī)設(shè)置 MC 顏色? 方法 1 、 MC

13、 實(shí)例名為 "mc" mycolor=new Color("mc") mycolor.setRGB(random(0xffffff) 方法 2 、 MC 實(shí)例名為 "mc" mycolor=new Color("mc") mycolor.setRGB(random(16777215) 方法 3 、 myColor = new Color(mc); myColorTransform = new Object();/ 用 new Object() 為 /setTrandform() 創(chuàng)建參數(shù)并隨機(jī)取值 myra = r

14、andom(100); myrb = random(255); myga = random(100); mygb = random(255); myba = random(100); mybb = random(255); myaa = random(100); myab = random(255); myColorTransform = ra:myra, rb:myrb, ga:myga, gb:mygb, ba:myba, bb:mybb, aa:myaa, ab:myab; myColor.setTransform(myColorTransform); 方法 4 、 mycolor =

15、new Color(mc); mycolor.setRGB(random(255)<<16|random(255)<<8|random(255); 6 、關(guān)于隨機(jī)數(shù)的技巧 用來(lái)產(chǎn)生 6-20 之間的 5 個(gè)不重復(fù)的隨機(jī)數(shù) 1): 首先產(chǎn)生一個(gè)隨機(jī)數(shù) , 放在數(shù)組對(duì)象中的第一個(gè)位置 2): 產(chǎn)生一個(gè)新的隨機(jī)數(shù) 3): 檢查新產(chǎn)生的隨機(jī)數(shù)和所有目前已產(chǎn)生的隨機(jī)數(shù)是否相同 , 若是相同則返回 (2), 否則返回 (4) 4): 將新的隨機(jī)數(shù)加入數(shù)組對(duì)象中下一個(gè)數(shù)組元素內(nèi) 5): 檢查數(shù)組對(duì)象個(gè)數(shù)是否已達(dá)到 5 個(gè) , 若是跳到 (6), 否則返回 (2) 6): 結(jié)束 AS

16、如下 : data1=newArray(5); tot=1; data1=tot-1=random(20-6+1)+6; do gen_data=random(20-6+1)+6; reapeat_data=0; for(i=0,i<=tot-1;i+) if(gen_data=data reapeat_data=1; break; if(reapeat_data=0) tot+ datatot-1=reapeat_data; while(tot<5); trace(data1); 7 、如何禁止右鍵菜單、縮放、全屏 在第一楨中輸入下面命令: 全屏 FS Command (&quo

17、t;fullscreen", true) 禁止縮放 FS Command ("allowscale", False) 禁止菜單 FS Command ("showmenu", False) fscommand 的方法還是只能適用于 fp ,在網(wǎng)頁(yè)中使用還是必須添加額外的參數(shù) <PARAM Name="menu" value="false"> 或者用最簡(jiǎn)單的一句 as ,在 fp 和網(wǎng)頁(yè)中均適用: Stage.showMenu=false; 8 、如何實(shí)現(xiàn)雙擊效果? 把下面的代碼放到按鈕上: o

18、n (press) time = getTimer()-down_time; if (time<300) trace("ok"); down_time = getTimer(); 這樣的話,如果都用比較麻煩,寫(xiě)了一個(gè)類(lèi)來(lái)判斷 MovieCtotype.doubleClick = function() this.timer2 = getTimer()/1000; if (this.timer2-this.timer)<0.25) return true; else this.timer = getTimer()/1000; return false;

19、 ; 繼承了 mc 的類(lèi),可以重復(fù)使用,當(dāng)然也可以封裝為 2 。 0 的類(lèi) 9 、如果要在瀏覽器中實(shí)現(xiàn)全屏效果,只需在 html 文件中加入以下代碼即可: <script> javascript :window.open("*.swf","","fullscreen=1,menubar=no,width=800,height=600") </script> 其中 *.swf 為要調(diào)用的 FLASH 文件,記住要將該文件放在 html 文件的同一路徑下面。要退出全屏狀態(tài)需按 ALT F4 或退出。 如果在 swf

20、 文件中,添加關(guān)閉按鈕,使用下面的代碼: on(release) getURL("javascript :opener=null;window.close();"); 10 、用 AS 怎么把影片倒放 function prev(target) target.gotoAndStop(target._totalframes); target.onEnterFrame = function() if (this._currentframe>1) this.gotoAndStop(this._currentframe-1); else delete this.onEnter

21、Frame; ; prev(_root.mc); / 指定要倒退播放的 MC instance name 就可以了 11 、聲音相關(guān) 之前為 MYSOUND 鏈接一個(gè)屬性 1 : mysound=new Sound();/ (注釋?zhuān)?mysound 是一個(gè)變量名, new Sound 是一個(gè)構(gòu)造函數(shù),表示 mysound 是一個(gè) Sound 對(duì)象。 以后可以通過(guò) mysound 來(lái)調(diào)用 Sound 方法 *HK 2: mysound.attachSound("name"); 這里的 NAME 就是你之前在標(biāo)識(shí)符里寫(xiě)的東西了,對(duì)應(yīng)好了就 OK ! 3: mysound.set

22、Volume(50); 這個(gè)是控制聲音播放時(shí)的聲音大小,取值在 0 到 100 ,意義大家都知道吧,不會(huì)有人認(rèn)為 0 是最大聲吧 4:mysound.start(0.01); 這個(gè)語(yǔ)句是表示開(kāi)始播放聲音,()里的參數(shù)表示聲音開(kāi)始的位置,單位為秒,再來(lái)就是循環(huán)幾次 比如 mysound.start(30 , 2);/ 聲音從 30 秒處開(kāi)始循環(huán) 2 次。 12 、倒計(jì)時(shí) 首先新建文件以后,在主場(chǎng)景中分別用文字工具建立三個(gè)動(dòng)態(tài)文本框,變量名字分別是: leftmin,leftsec,leftmilli, 也就是分別來(lái)顯示計(jì)時(shí)的分鐘、秒數(shù)和毫秒數(shù)。 然后新建一層,在第一楨寫(xiě)上如下代碼即可:(已經(jīng)做了

23、詳細(xì)解釋?zhuān)嘈糯蟛糠峙笥涯軌蚶斫膺@些代碼的意思) onLoad = function()/ 當(dāng)場(chǎng)景加載以后執(zhí)行 totalmin = 40; totalsec = 60; totalmilli = 100; / 初始化一些變量,在后面的計(jì)算中要用到這些變量 onEnterFrame = function()/ 逐楨執(zhí)行動(dòng)作" currentsec = Math.round(getTimer()/1000); / 求出當(dāng)前影片已經(jīng)播放的秒數(shù)(取整) currentmilli = Math.round(getTimer()/10); / 求出當(dāng)前影片已經(jīng)播放的毫秒數(shù)(取整) leftse

24、c = totalsec- currentsec; / 剩余的秒數(shù)等于總的秒數(shù)減去已經(jīng)播放的秒數(shù) leftmin = totalmin; / 開(kāi)始分鐘數(shù)等于總的分鐘數(shù),開(kāi)始是不變的 leftmilli = totalmilli - currentmilli; / 剩余的毫秒數(shù)等于總的毫秒數(shù)減去已經(jīng)播放的毫秒數(shù) if(leftsec<10)leftsec = "0"+leftsec if(leftmin<10)leftmin = "0"+leftmin if(leftmilli<10)leftmilli = "0"+l

25、eftmilli / 以上三句是當(dāng)分鐘數(shù)、秒數(shù)、毫秒數(shù)小于 10 的時(shí)候,前面加上一個(gè) “0” 。 if(leftmilli<=1)totalmilli+=100; ); / 當(dāng)計(jì)時(shí)剩下的毫秒小于 1 的時(shí)候,總秒數(shù)再加 100 ,以便下一次重新計(jì)時(shí)(這里注意得到的影片播放的毫秒數(shù)是一直增加的) if(leftsec = 0)/ 當(dāng)剩余的秒數(shù)等于 0 的時(shí)候 totalsec+=60;/ 類(lèi)似上面的解釋?zhuān)偯霐?shù)加 60 totalmin-=1;/ 這時(shí)候相當(dāng)于過(guò)了 60 秒,所以分鐘數(shù)要減 1 if(leftmin =0)/ 當(dāng)分鐘數(shù)等于 0 的時(shí)候,計(jì)時(shí)結(jié)束 leftsec = &qu

26、ot;00" , leftmin = "00" leftmilli = "00" / 將三個(gè)計(jì)時(shí)框都附值為 0 delete onEnterFrame;/ 刪除這個(gè)逐楨動(dòng)作,以節(jié)省資源 ; 13 、鍵盤(pán)控制上下左右 怎樣用鍵盤(pán)中的上下左右控制動(dòng)畫(huà)! onClipEvent (load) speed = 5;/ 當(dāng) MC 載入時(shí),設(shè)置速度為 5 ,也就是說(shuō)每按一下方向鍵,就移動(dòng) 5 象素 onClipEvent (enterFrame) if (Key.isDown(Key.LEFT) this._x -= speed;/ 當(dāng) 被按下時(shí),自身的

27、X 位置不斷減 speed , X 軸坐標(biāo)不斷減小,也就是不斷向左移動(dòng) if (Key.isDown(Key.RIGHT) this._x += speed;/ 當(dāng) 被按下時(shí),自身 X 位置不斷加 speed , X 軸坐標(biāo)不斷增加,也就是不斷向右移動(dòng) if (Key.isDown(Key.UP) this._y -= speed;/ 當(dāng) 被按下時(shí),自身的 Y 位置不斷減 speed , Y 軸坐標(biāo)不斷減小,也就是不斷向上移動(dòng) if (Key.isDown(Key.DOWN) this._y += speed;/ 當(dāng) 被按下時(shí),自身的 Y 位置不斷加 speed , Y 軸坐標(biāo)不斷增加,也就是

28、不斷向下移動(dòng) onEnterFrame = function () if (Key.isDown(Key.LEFT) mc._x -= 20; if (Key.isDown(Key.RIGHT) mc._x += 20; if (Key.isDown(Key.UP) mc._y -= 20; if (Key.isDown(Key.DOWN) mc._y += 20; if (mc._x<0) mc._x = 0; if (mc._x>550-mc._width) mc._x = 550-mc._width; if (mc._y<0) mc._y = 0; if (mc._y&

29、gt;400-mc._height) mc._y = 400-mc._height; 14 、隨機(jī)調(diào)用外部圖片 用 9 個(gè)圖片為例子,這個(gè)也可以使用 loadmovie 調(diào)用 num=Math.round(9*Math.random()+1) / 設(shè)置隨即數(shù)字( 1-9 ) _root.createEmptyMovieClip("pic", 1); / 創(chuàng)建一個(gè)空的 PIC MC 用來(lái)裝載外面載入的圖片 _root.pic._x = 200; _root.pic._y = 200; / 簡(jiǎn)單設(shè)置一下 MC 的位置 _root.pic.loadMovie(num+".jpg",1); / 隨即載入外面的圖片 15 、暫停 可以把要暫停的地方 , 幀數(shù)放長(zhǎng)啊 或者在當(dāng)前幀寫(xiě) stop(); function pause() clearInterval(pauseInterval); play(); pauseInerval=setInterval(pause,1000); /1000 是 1 秒 16 、怎樣改變某一影片剪輯的播放速度 function go(obj) with (obj) nextFrame(); if (_currentframe = _totalframe

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論