交互教程flash動作腳本詳解_第1頁
交互教程flash動作腳本詳解_第2頁
交互教程flash動作腳本詳解_第3頁
交互教程flash動作腳本詳解_第4頁
交互教程flash動作腳本詳解_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余81頁可下載查看

付費(fèi)下載

下載本文檔

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

文檔簡介

詳一、 二、按鈕AS的編詳一、 二、按鈕AS的編 三、影片剪輯的AS編 七、繪圖及顏色的AS的編 八、聲音AS的編寫與控 九、時(shí)間日期的AS編 十三、變 影片剪 二十、深入startDrag()與 二十一、for循 二十二、while與dowhile循 二十五 一、基礎(chǔ)入門講認(rèn)識“動作”面的導(dǎo)導(dǎo)向在的編輯如何編寫flash中,不需要用戶對AS有完全的了解是,如何在你的flash中添加編 直接寫在MC(影片剪輯元件的實(shí)例)上、按鈕上面本,那么當(dāng)flash運(yùn)行的時(shí)候,它會首先執(zhí)行這個關(guān)鍵楨上可以是舞臺上的按鈕等本,那么當(dāng)flash運(yùn)行的時(shí)候,它會首先執(zhí)行這個關(guān)鍵楨上可以是舞臺上的按鈕等。既然包含了那么多對象,那么每種對象肯定有各自的屬性!比剪輯,stopAllSounds();按鈕的ASon(release)_root} 的話,必須使用on(事件 臺上的mc!on(release){_root}on(release)_rootmc.prevFrameprevFrame}on(release)_root}on(release)_rootmc.gotoAndStop(1mc影片的第一楨,并停}!二、按鈕AS的編flash中的交互功能一般是由按鈕來完成的。掌握按鈕的編寫規(guī)則也是一個閃客的基本能二、按鈕AS的編flash中的交互功能一般是由按鈕來完成的。掌握按鈕的編寫規(guī)則也是一個閃客的基本能的功能就是打開一個指定的網(wǎng)頁(這個例子非?;A(chǔ),用這個例子來講解按鈕AS一、F8,將這個矩形轉(zhuǎn)換成按鈕元件二、編寫動:選中按鈕,按F9,打開動作面板,:}現(xiàn)在這個按鈕就實(shí)現(xiàn)了一個打開網(wǎng)頁的功能。通過例子你應(yīng)該AS書寫規(guī)則//要執(zhí)行程序,剛才的例子是用getURL來打開一個網(wǎng)頁。你也可以使}on語句,這個on語句就是按鈕的AS編寫規(guī)則了。需要注的是on里面的事件,這個事件你可以理解為是鼠標(biāo)或鍵盤的動作。剛才的例子事件是release(按一下鼠標(biāo))我現(xiàn)在把常用的按鈕事件列出來:事件名字說Press事件發(fā)生于鼠標(biāo)在按鈕上方,并按下鼠Release發(fā)生在按鈕上方按下鼠標(biāo),接著松開鼠標(biāo)時(shí)。也就是“按一下”鼠標(biāo)Releaseoutside發(fā)生于在按鈕上方按下鼠標(biāo),接著把光標(biāo)移動到按鈕之外,然后松開Rollover當(dāng)鼠標(biāo)滑入按鈕Rollout當(dāng)鼠標(biāo)滑出按鈕er發(fā)生于按著鼠標(biāo)不放,光標(biāo)滑入按Dragout發(fā)生于按著鼠標(biāo)不放,光標(biāo)滑出按Keypress發(fā)生于用戶按下特定的鍵盤按鍵時(shí)下面來看看第二種按鈕AS的編寫方法。一、一個二、F9打開動作面板。輸入如bt.onrelease=function():/",這種編寫AS的方法要遵循的規(guī)則就是下面的公式而已//要執(zhí)行}AS就先將到這了,這個可以算是基本技能了。希望大家都能掌握三、影片剪輯的AS編影片剪輯在flash}AS就先將到這了,這個可以算是基本技能了。希望大家都能掌握三、影片剪輯的AS編影片剪輯在flash中可以說是使用最多的一種元件了,那么對于它的AS也是不 剪輯AS的編寫規(guī)則,和上次講按鈕一樣一、首 ASAS來實(shí)現(xiàn)小球的移動呢?下面來看看如何用AS來實(shí)現(xiàn)吧。剪輯本身上編寫AS,以及編寫規(guī)則2編MC,按F9打開動作面板,按照圖01顯示選事件中選擇這onClipEvententerFrame)enterFrame的意思四以影片幀頻不斷地觸發(fā)此動this._x5/this代表這個影片剪輯自身。_x表示影片剪輯X軸坐標(biāo)}呵呵,按下你的AS寫在影片剪輯本身上,那么它是有自己的書寫格onClipEvent事件}load影片剪輯一旦被實(shí)例化并出現(xiàn)在時(shí)間軸中時(shí),即啟動此動作unload在從時(shí)間軸中刪除影片剪輯之后,此動作在第一幀中啟動。處理與Unload影enterFrame以影片幀頻不斷地觸發(fā)此動作mouseMove每次移動鼠標(biāo)時(shí)啟動此動作。_xmouse_ymouse屬性用于確定當(dāng)前鼠mouseDown當(dāng)按下鼠標(biāo)左鍵時(shí)啟動此動作-mouseUpkeyDown當(dāng)按下某個鍵時(shí)啟動此動作。使用Key.getCode方法獲取最近按下的鍵-keyUp某個鍵時(shí)啟動此動作。用Key.getCode方法獲取最近按下的鍵的有dataloadVariablesloadMovie動作中接收數(shù)據(jù)時(shí)啟動此動作。當(dāng)loadVariables動作一起指定時(shí),data事件只發(fā)生一次,即加載最后一個變量時(shí)。當(dāng)loadMovie動作一起指定時(shí),獲取數(shù)據(jù)的每一部分時(shí),data事件都重復(fù)發(fā)生AS寫在影片剪輯本身的例子先講到這,下面來看看如果把AS寫在時(shí)間軸上loadMovie動作一起指定時(shí),獲取數(shù)據(jù)的每一部分時(shí),data事件都重復(fù)發(fā)生AS寫在影片剪輯本身的例子先講到這,下面來看看如果把AS寫在時(shí)間軸上個名字,比如起名為mc.onEnterFrame=function():this._x5你也可以把這句改為mc._x+=5自己想一下為什么}程面加一個on,比如,事件如果了enterframe下面簡單說一下影片剪輯的屬性。比如,影片剪輯有自己的X、Y軸坐標(biāo),有自己的透把上面mc.onenterframe=function(){mc._x+=5;mc._alpha=this._alpharandom(100),它是設(shè)置影片剪輯就是_alpha。后面的random()函數(shù)是隨機(jī)選取一個100以內(nèi)的數(shù)字作為它mc._alpharandom(100)也可以改為_rootmc._alphamc四、動一、flash中的動態(tài)文本使用方flash中,文本工具提供了三種文本類型。分別是:靜態(tài)文本、動態(tài)文本和輸下面講解的內(nèi)容屬于動態(tài)文本的AS編寫規(guī)則。要創(chuàng)建一個動態(tài)文本非常簡單,只需要選中文本工具,然后選擇動態(tài)文本類型,然后在舞臺上拖拽出所需要的。當(dāng)在舞臺上拖拽出動態(tài)文本框之后AS如何來對動態(tài)文本框賦值呢?在這里為大家介紹兩種方法進(jìn)行abc.text愛國者安全網(wǎng):按下ctrl+abc.text愛國者安全網(wǎng):按下ctrl+.text=”需要3800hk3800hk=:不難看出,使用變量賦值更為簡單實(shí)用!賦值格式為=“賦值的內(nèi)容”以上兩種賦值方法如果內(nèi)容過多需要換行的時(shí)候,需要使用行用回車符(\r”即ASCII三、如何載入外部txt文本里的內(nèi)txt(記事本)文1、創(chuàng)建一個動態(tài)文本實(shí)例,并為這個動態(tài)文本實(shí)例起一個變量名:loadVariablesNum("heiying.txt0);//heiying.txt的文本文件,加載級別為03heiying.txt文本文件了。注意:要把這個文本文件和你剛才做的flash文件放在一個文件夾里!這個txt文件里的資料應(yīng)該按照如下格式編寫:flash中動態(tài)文本變量的名字=這里就是所需要的資料內(nèi)容。對應(yīng)上面的格式,外部heiying.txt中的內(nèi)容為:。UTF-84下面介紹另外一種載入外部文本資料的方法動條組()打開flash的組件面板(快捷鍵ctrl+F7)UIScrollBar(滾動條)組件。按著它不動,然后拖放此組件至剛才的動態(tài)文本實(shí)例的右部邊緣,如果成功的話,組件會和文本框結(jié)合在一起!:ttnewLoadVars();//LoadVars對象的實(shí)例,這里的tt.load("heiying.txt");//創(chuàng)建的tt實(shí)例需要載入的對象是heiying.txt文本文件。tt.onLoadfunction(ss是指示load操作是否成功完成。如果完成,那么S的值tt.load("heiying.txt");//創(chuàng)建的tt實(shí)例需要載入的對象是heiying.txt文本文件。tt.onLoadfunction(ss是指示load操作是否成功完成。如果完成,那么S的值就為true(真),反之為false(假)if(s)anquan.text=}//anquan文本框中的內(nèi)容就等于tt.實(shí)例中的heiying的內(nèi)容(hk(4)至于外部的heiying.txt滾動五、影片剪輯的拖在網(wǎng)上經(jīng)??吹降膄lash影片中有的對象可以被鼠標(biāo)進(jìn)行拖動。的類似flash中的拖拽動作1、法面的例子中試命令格式:.stopDrag()二1、新建一個flash文檔,并在舞臺上繪制一個圓形。選中圓on(press):把寫在實(shí)例本身了,所以這里用this代替影片剪輯實(shí)例的名字)可以被拖拽,使,可以把truefalse。可以更改為false看看。}on(release)}Ctrl+回車來測試一下吧,你將會看到舞臺上的充6、如充6、如是:左=50,上=100,右=250,下=200現(xiàn)在打開動作面板,修 on(press)this.startDrag(true50100250200);//這}on(release){}7、好了,按Ctrl+回車去測試吧實(shí)例hihkest(被拖拽的實(shí)例)這個是比較拽實(shí)例的Y軸坐標(biāo),對象的矩形區(qū)域范圍還是對象本身范圍)這個是比較復(fù)同 表示對象的矩形區(qū)域范圍,true表示對象本身的范圍)1、新建一個flash文檔,在舞臺上繪制一個圓形。選中圓形并按F8將它轉(zhuǎn)換為影片剪輯,起名:圓。這樣就在舞臺上創(chuàng)建了一個圓的實(shí)例。_root.onEnterFrame=function():if(_root.yuanhitTest(_root._xmouse,_root._ymouse,false))。hk接觸矩形區(qū)域范圍}elsehk沒有接觸到矩形區(qū)域范圍//yuan這個實(shí)例的矩形區(qū)域范圍的話,就顯示}現(xiàn)在可以按Ctrl+回車去測(hk接觸矩形區(qū)域范圍}elsehk沒有接觸到矩形區(qū)域范圍//yuan這個實(shí)例的矩形區(qū)域范圍的話,就顯示}現(xiàn)在可以按Ctrl+回車去測(二子剪輯,起名為:矩形juxingon(press){}on(release){}。如下這子就是為了能拖動這個矩形實(shí)例。象:_root.onEnterFrame=function()if_root.yuanhitTest(_root.juxinghk="碰到了";}elsehk沒有碰到}}這你的成六、流程控制與循環(huán)語 flash根據(jù)一些特定的條件,來決定要執(zhí)行哪個程序。這樣就好象給了程序一些if...else控制flash根據(jù)一些特定的條件,來決定要執(zhí)行哪個程序。這樣就好象給了程序一些if...else控制語則...就...下面來看看這個流程控制語句的書寫格式。}下面重點(diǎn)說一下if后面括號內(nèi)的條件。這個條件可以是一個固定的值,也執(zhí)行if后面的程序,如果條件不成立,也就是條件為假(false),就會執(zhí)行這么一個條件,A>B將這個表達(dá)式代if后面的括else里的程序。內(nèi)果A>B序,如果A不大于B,就將執(zhí)行else后面大括號內(nèi)的程序。:1、新建一個flash文檔,在舞臺上繪制一個圓,選中圓并按F8轉(zhuǎn)換成影片剪輯,起名為:圓這樣就在舞臺上創(chuàng)建一個圓的實(shí)例。onClipEvent(enterFrame):ifthis._x<400)流程條件控制語句,如果這個圓的實(shí)例的X軸坐標(biāo)小于400,就執(zhí)行后this._x5;//讓這個圓的坐標(biāo)向右移動5個象}elsethis._x0;//控制語句,如果剛才的條件不成立。也就是圓實(shí)例的X坐標(biāo)不小于400,就}}enterFrame事件,所以flash會不停的執(zhí)行下面if...else語句包括while循環(huán)、for循環(huán)等。因?yàn)槠邢?,下面只重點(diǎn)講解for循環(huán)的使用方法。For循環(huán)命令格式}。首先強(qiáng)調(diào)一點(diǎn),for語句的括號內(nèi)有三個項(xiàng)目,必須要用分號間隔開 它就直接跳出這個for語句 它就直接跳出這個for語句了。:1、新建一個flash文檔,在舞臺上繪制一個圓,選中圓并按F8轉(zhuǎn)換成影片剪輯,起名為:圓這樣就在舞臺上創(chuàng)建一個圓的實(shí)例。for(i=1;i<5;i++){duplicateMovieClip("yuan","yuan"+i,i);_root["yuan"+i]._x=_root["yuan"+i]._y=_root["yuan"+i]._alpha=}:如果大家實(shí)在覺得forfor語言執(zhí)行的順序把i=1代入程走一遍,可以幫助你理解程序。例如:當(dāng)i等于1的時(shí)候,程序開始判斷它是否小于5,yuan1yuan1的坐標(biāo) 。之后,for語句開始回去執(zhí)行此時(shí),i的值就變?yōu)椋擦?。然后又開始循環(huán)判斷執(zhí)行下去......(for循是4次:讓for循環(huán)語句七、繪圖及顏色的AS的編flash的過程中,難免會進(jìn)行繪圖的操作。除了用工具面板上的工具繪制圖形之外,也可以使用ActionScript來繪制圖形。)//Moveto(X坐標(biāo),Y坐標(biāo)設(shè)置繪圖線條的起點(diǎn)坐標(biāo)lineto(X坐標(biāo),Y坐標(biāo))//設(shè)置線條的結(jié)束坐標(biāo)flash文檔lineto命令進(jìn)行編寫了:,,,,,,,);//力,可以通過lineto命令來設(shè)置多個點(diǎn),從而創(chuàng)造出各種各樣的形狀flash文檔,在舞臺上繪制一個圓,選中它并按F8轉(zhuǎn)換成影片剪輯,起名為:圓。3、現(xiàn)在為舞臺上兩個實(shí)例分別起名字為a:現(xiàn)以a實(shí)例的坐標(biāo)為起點(diǎn),向b實(shí)例繪制線條。,,。_rootmoveTo(a._xa._y);//a實(shí)例的坐標(biāo)為起點(diǎn)開始繪制線條_root.lineTo(b._xb._y);//b實(shí)例的坐標(biāo)為繪制線條的結(jié)束點(diǎn)}draw();//draw,它將會在ab之間繪制出一條黑色的線條例如上面的b實(shí)例,打開動作面板,輸入以on(press)}on(release):}onClipEventmouseMoveb實(shí)例移動的時(shí)候,就執(zhí)行里面的程_root.draw();//draw()函數(shù),開始在ab之間繪制線條}Ctrl+回車測試動畫效果。setRGB()用來設(shè)置實(shí)例的顏色值,注意,這個值用16進(jìn)制(黑色getRBG()獲取實(shí)例的顏色須先構(gòu)建一個Color名字Color("要改變顏色的對象"),構(gòu)建完color對象之后,getRBG()獲取實(shí)例的顏色須先構(gòu)建一個Color名字Color("要改變顏色的對象"),構(gòu)建完color對象之后,1、新建立一flash就能使用setRGB或getRGB來。//hk的影片剪輯實(shí)例,深度為hk實(shí)例進(jìn)行繪制圖形和填充圖形!現(xiàn)with(hk)//使用with命令設(shè)置hk的各個屬beginFill(0x000000,//開始填充這個hk實(shí)例,顏色為黑色lineStyle(1,0x999999,//設(shè)置這個實(shí)例的邊框粗細(xì)為1,顏色為灰色,moveTo(50,50);lineTo(350,50);//300*100大小的矩形//結(jié)束填充,與beginFill()命令對應(yīng)}OK,現(xiàn)Color對令了_root.onMouseMovefunction當(dāng)鼠標(biāo)移動的時(shí)候就執(zhí)行下面hk_colornewColor("hk");//hk_colorColor對象yanse0x"+random(100)+random(100)+random(100);//用一個變量yanse來獲取一個數(shù)值,3、按八、聲音AS的編寫與控一個好的flash作品,缺少了聲音,就如同人不外一、FLASH中如何創(chuàng)建聲音控,可以使用flash中的sound對象通過soundsound對象。之后再用attachSound外一、FLASH中如何創(chuàng)建聲音控,可以使用flash中的sound對象通過soundsound對象。之后再用attachSoundnewSound()此命令用來創(chuàng)建一個新的sound對象,有sound對")此命令可以 ,循環(huán)次數(shù)])此命令可以聲音開stop()停止聲音 setVolume(音量級別)此命令可以控制聲音的音量高低,現(xiàn)1、新建一個flash文檔,按Ctrl+R(文件\導(dǎo)入)導(dǎo)入一個聲文件,聲音文件可以是MP3WAV格。導(dǎo)2、選中庫文件鍵的一幀導(dǎo)出”選項(xiàng),并輸入一個標(biāo)識符:mysound(名字可任意寫在:musicnewSound();//創(chuàng)建一個名字叫 和停止兩個按鈕,選中Play按鈕,打on(release){ 聲:選中Stop按鈕,輸入以on(release){:}//停聲Ctrl+回車來測試吧1、新建一個flashCtrl+RCtrl+回車來測試吧1、新建一個flashCtrl+R導(dǎo)入一個聲音文件music=new music.start(1,鈕可以自己制作或使用公用庫中的按鈕on(press):thssatagfle,le,to,igt,otm置。dragtrue;//用一個變量來判斷這個按鈕是否被拖動了。如果它被拖動了,變量值為true(真)}on(release,releaseOutside)面的drag變量為假,表示按鈕沒有被拖動。drag=}以:onClipEvent(load){//top=_y;left=_x;right=bottom=}onClipEvent(enterFrame)ifdragtrue如果按鈕被拖動了,就開始執(zhí)行下面的設(shè)置音量的top值也是固定的為100。當(dāng)拖動按鈕往時(shí),_y值就會變大,比如變?yōu)椋保常?,那么_y-top就等于30了,在用100-30就等于70,這個70就是音量的級別了。伴隨著按鈕越}}sound對九、時(shí)間日期的AS編getFullYear()4位數(shù)字的年份數(shù)getMonth()按照本地時(shí)間返回月份數(shù)getDate()按照本地時(shí)間返回某天是當(dāng)月的第幾天。getHours()按照本地時(shí)間返回小時(shí)值。getMinutes()按照本地時(shí)間返回分鐘值。getSeconds()按照本地時(shí)間返回秒數(shù)。DateDate對象的實(shí)例。然后,就可以用創(chuàng)建的這個實(shí)例名=new 通過一個例子來介紹Date對象的各種命令使用方法。1、新建立一flash文檔,將層1改名為:文字顯示,并在舞臺下方繪制出一個動態(tài)文Ctrl+F8新建立一個影片剪輯,起名為:指針具,時(shí)將指針元件,首先_root.onEnterFramefunction需要讓影片不停執(zhí)行下。mydatenewDate();//首先構(gòu)建一個名字叫mydate的日期對象以就要用myearmydate.getFullYear();//獲取本地機(jī)器上的年份,并放在myear變量中mmonmydate.getMonth()+1;//mmon變量中。因?yàn)楂@取的值是0代表一月,1代表二月,依此類推,所以要加上myearmydate.getFullYear();//獲取本地機(jī)器上的年份,并放在myear變量中mmonmydate.getMonth()+1;//mmon變量中。因?yàn)楂@取的值是0代表一月,1代表二月,依此類推,所以要加上1才正確mdatemydate.getDate();//獲取本地機(jī)器上的本月的第幾天mdate變量中moumydate.getHours();//mou變量中,這個命令能獲0--23之間的數(shù)值mmmydate.getMinutes();//獲取本地機(jī)器上的分鐘數(shù)值,并放mm變量中msmydate.getSeconds();//ms變量中mytimemyear+"年"+mmon+"月"+mdate+""+mou+":"+mm+":"+ms讓舞臺上變量名為mytime的動態(tài)文本框顯示日期及時(shí)間。}sec._roion6*ms;//flash中對象旋轉(zhuǎn)命令來實(shí)現(xiàn)指針的走動。_roion旋轉(zhuǎn)一周是360度,所以,秒針每走一下,就等于走了6度,所以用一個算法來獲取每秒的度數(shù)6*msmin._roion=6*mm;//同理,讓分針也是根據(jù)獲取的分鐘數(shù)值乘以6來進(jìn)行度的旋轉(zhuǎn)。hour._roionmou*30+mm/60*30;//小時(shí)的走動,算法稍微復(fù)雜一點(diǎn),因?yàn)闀r(shí)針走一圈是日期及時(shí)間的AS了單的例子掌握基本的日期及時(shí)間AS的編寫。在后面的課程十、點(diǎn)語法以及路點(diǎn)(.)動最后以要指定的元素結(jié)束。元件命合肥中澳學(xué)院。這句話用AS語言表示為 在上面的例子中名性,那么,在FLASH中怎么AS語言來表示一個影片剪輯的高度呢名注意:在命名實(shí)例名時(shí),最好意義明確,可以用英文、漢語拼音和中文,并且不同類型的命名影片剪輯實(shí)例;_mcmy_mc。命_btnmy_btn._txt后綴。例如my_txt_txt后綴。例如my_txtflash了目標(biāo)路徑的概念,目標(biāo)路徑:是SWF文件中影片剪輯實(shí)例名稱,變量目標(biāo):指的是將 路徑:指如何到達(dá)目標(biāo),分層結(jié)構(gòu):flash文件是有一個個影片或影片剪輯組成的,它們有各自的時(shí)間軸、變量、數(shù)組等,它們的位置關(guān)系有兩種,一是父子關(guān)系;二是并列關(guān)系。所謂父子關(guān)系指的是包含與被包含的關(guān)系,例如:把影片剪輯mc1拖放到影片剪輯mc中,則稱mc1mcmc稱作mc1的父級。它們的層次結(jié)構(gòu)用點(diǎn)語法表示,圓點(diǎn)前面的對象包含著圓點(diǎn)后面的對象,如_rootmcmc1即_root包含了mcmc包含了mc1。所謂并列關(guān)系指的是對等的關(guān)系,它們之間沒有包含與被包含的關(guān)系,如:_rootmc_a_rootmc_bflash1個時(shí)間軸向另一個時(shí)間軸發(fā)發(fā)時(shí)間軸的動作。要實(shí)現(xiàn)這種絕對路絕對目標(biāo)路徑指的是從根時(shí)間軸開始,一直延續(xù)到列表中目標(biāo)時(shí)間軸中的實(shí)例為止。相對路看被控制。看鍵字this指示當(dāng)前時(shí)間軸:使用別名_parent指示當(dāng)前時(shí)間軸的父級時(shí)間軸,可以重復(fù)使用_parent,每_parent,若向thismc.mc1Flash8中可以用多種方法編與目標(biāo)路徑,直接手工輸路徑,或者使用框面板的目標(biāo)路徑”按鈕,找到你要控單擊動單擊動中框單擊動單擊動中框由上圖在以看出影片剪輯之間的分層結(jié)構(gòu):mc中包含了兩個子級mcA、mcB;而mcA子級mc1、mc2、mc3按F9打開動作面板,點(diǎn)擊 中當(dāng)構(gòu) 最上面一mcA,控制mc1,路徑為相對路徑:thismc1絕對路徑:_root十一、深入了解時(shí)間控通過本課的學(xué)習(xí),掌握在按鈕上添加代碼的方法;理解on命令的函數(shù)功能;用幀命令和按鈕命令控制一些簡單的時(shí)間軸動畫。on事件處理函事件是MacromediaFlash的應(yīng)用程序?qū)κ录劝l(fā)的事件如影片剪輯對數(shù)下就來學(xué)習(xí)on數(shù)”|“片剪輯控制|“on”命令后,彈出選On事件動作使用較多,它一般直接作用于按鈕,也可以作用于影片剪輯實(shí)例。理解on事件中的參數(shù)意理解on事件中的參數(shù)意 on(press){txt發(fā)生了鼠標(biāo)按下(press)事件}on(release)txt="發(fā)生了鼠 }on(releaseOutside)txt發(fā)生了鼠標(biāo)外}on(rollOver)txt發(fā)生了鼠標(biāo)滑過(rollOver)事件}on(rollOut)txt發(fā)生了鼠標(biāo)滑離(rollOutr)事件}oner)txt發(fā)生了鼠標(biāo)拖過}on(dragOut)txt發(fā)生了鼠標(biāo)拖離(dragOut)事件}on(keyPress"<Left>")="時(shí)間軸控制語句是較基礎(chǔ)的ActionScript掌ActionScript止。一軸的}on(keyPress"<Left>")="時(shí)間軸控制語句是較基礎(chǔ)的ActionScript掌ActionScript止。一軸的以 會看到時(shí)間軸控9條時(shí)間軸控制命。這一課play()stopplaystopFlash中用于控制動畫的前位置向前移動。stop停止當(dāng)前正在和停止,play命令頭從它SWF文件。此動作最通常的用是用按鈕控制影片。是Flash中控制動畫最基幀命路徑知道一個有動畫的影片剪輯,場景時(shí)間軸只有一幀正幀。例的時(shí)中控制影片剪輯的時(shí)間軸稱下屬性面板里輸入實(shí)例名“花”“葉”。進(jìn)入名稱為“葉引導(dǎo)線”的影片剪輯元件的編輯區(qū)中,點(diǎn)擊“AS的第1令:在第幀在主場景“AS的第1令在主場景“AS層”的第170幀添加命令:間軸的控制stop(play()命令令觸發(fā)的頭經(jīng)過 不同的控制點(diǎn)上來控制影片?,F(xiàn)在制點(diǎn),如果選擇mcA中放一個停按鈕,mc1中放一個停止按鈕上的代碼:觸發(fā)的頭經(jīng)過 不同的控制點(diǎn)上來控制影片?,F(xiàn)在制點(diǎn),如果選擇mcA中放一個停按鈕,mc1中放一個停止按鈕上的代碼:on(press){}on(press)}圓括號數(shù)全部放到圓括里本課學(xué)的on函數(shù)用來定義鼠標(biāo)或鍵盤響應(yīng)事件,其中選擇的鼠標(biāo)事件就是參數(shù)。有時(shí)也可以沒有參數(shù)例如:函數(shù)play()中的分號是用來作為語句結(jié)束的標(biāo)記FlashAS略了“;”號,F(xiàn)lash動號十二、無條件轉(zhuǎn)play()stop()命令,這一課的順序,從而實(shí)現(xiàn)各種特效,gotoAndPlayscene:String[可選]—一個字符串,指 frame:Objectscene:String[可選]—一個字符串,指 frame:Object, gotoAnd在動作面板的|“時(shí)|“gotoAndStop”“gotoAndPlay(幀);”:按照該提示,可以在括號內(nèi)輸入需要跳轉(zhuǎn)的幀數(shù),例如, 到當(dāng)前幀的時(shí)候,跳轉(zhuǎn)到第20幀,則應(yīng)當(dāng)在當(dāng)前幀上添加代碼“gotoAndPlay(“場景)號內(nèi)指某一場頭 scene_2(場景2)的第20幀加代碼gotoAndPlay("場景_2?在進(jìn)行跳轉(zhuǎn)時(shí)應(yīng)該盡力避開場景和 有場景,可以減少發(fā)生,flash運(yùn)行速度增快。還便于修改只能在根時(shí)間軸上跳轉(zhuǎn)時(shí)使用scene參數(shù),不能在影片剪輯或文檔中的其它gotoAndPlay([scene:Stringframe:ObjectVoid2如果從元件時(shí)間軸跳轉(zhuǎn)元件時(shí)間軸時(shí),應(yīng)該先加路徑再寫跳轉(zhuǎn)命令。例命令后,gotoAndPlay的一樣,這里就不再重述例如:又如:gotoAndStop("2",頭從當(dāng)前幀跳轉(zhuǎn)到“場2”的第1幀”,加為了方便組織文檔可以使用場景,例如以使的,而且所:如果文檔包含兩個場景景1102中有的,而且所:如果文檔包含兩個場景景1102中有202中的幀的編號為11到30。nextFrame這兩個命令通常與on命令結(jié)合,并作用于按鈕上。單擊鼠標(biāo)后( )或下一個場景)。prevFrame和prevScene和nextScene相反。場景跳上一幀或上一個場景。其功能剛好與制(1)點(diǎn)擊“窗口”|“其它面板”|“場景場3個場景,這樣共是44的第1幀輸入幀“s4_f1”,分別在場景2~場景4中創(chuàng)建一個按鈕。(3)111幀制作一按鈕1上的代碼:on(release){gotoAndStop("場景2}按鈕2上的代碼:on(press){}按鈕3上的代碼:on(press){}on(press)gotoAndPlay("場景1}在“場景1”的第1幀添加代碼測試影最好用來跳轉(zhuǎn)本例的目的是為了練習(xí)跳轉(zhuǎn)命令及上一課中學(xué)習(xí)過on命令flash465280,背景色白色 ”的影片剪輯元件,在此元件“圖層1”9個10個關(guān)空白關(guān)鍵幀中依次分別放入庫中這10本例的目的是為了練習(xí)跳轉(zhuǎn)命令及上一課中學(xué)習(xí)過on命令flash465280,背景色白色 ”的影片剪輯元件,在此元件“圖層1”9個10個關(guān)空白關(guān)鍵幀中依次分別放入庫中這104.新建一個名為“按鈕1”的按鈕元件,在按鈕元件“圖層1從庫時(shí)提進(jìn)“tp1”位圖,在屬性面板里設(shè)置寬7045,居中對齊。在“點(diǎn)幀幀22”的彈起幀給制一個70、高45調(diào)為30%,在“鼠標(biāo)經(jīng)過入空白關(guān)鍵幀。作另外9個按鈕,大家可以鈕1”~“按鈕10把前6面。71”繪制一個46550的無筆觸的矩形框,填充色為淡紫色,并30%21幀上,從庫里提進(jìn)“按鈕組”影片剪輯件,并與下面的矩形條左對齊。第100關(guān)鍵幀上第1幀上的位置第幀上的位置8板件區(qū)里繪制一個寬287(這四個色自定)的狀填充并把設(shè)為45%左右。在第10在此幀上把各色的透0%。創(chuàng)建形狀動畫。并在最后一幀輸入停止命令。59.場景組(1)把場景“圖層1背景”圖形元件居中對2”更名為“滾動菜0%。創(chuàng)建形狀動畫。并在最后一幀輸入停止命令。59.場景組(1)把場景“圖層1背景”圖形元件居中對2”更名為“滾動菜單滾動菜單”影片剪元件,相對于場景,左3”更名為進(jìn)3”更名為“蒙板板”影片剪輯元件,放”上,并在屬性面板里輸入實(shí)例名“蒙板”。7(1)選中AS層的第1幀,打字開動作面板,在動作面板中輸入代碼_rootmc.stop();onEnterFrame=function(){ext=_root(2)進(jìn)入“按鈕組”影片剪輯元件的編輯區(qū),用選擇工具選中“按鈕1(最左邊的一個),打開動作面板,在動作面板中輸入代碼:on(rollOver)}on(release,rollOut)}on(press)}(3)把“按鈕1”上的語_root8為 的對應(yīng)5上的語句應(yīng)on(rollOver)}on(release,rollOut)}on(press)}}十三、trace。了解Flash中的數(shù)據(jù)類型.}}十三、trace。了解Flash中的數(shù)據(jù)類型.動 一些醋它就是醋罐子了。在flash中,通過動可以建立flashmyAge,用來存放varmyAge;var是用來定義變量的關(guān)鍵字MyAge便是變量名varmyAge=66;其中“=”號代表賦值運(yùn)算符,把66這個值賦給變量myAge注意量變名的規(guī)(1)不能是as關(guān)鍵字,所謂關(guān)鍵字也稱保留字,指as預(yù)先定義好的標(biāo)識符符“$my_txt保存文本的變量2_m//不能用數(shù)字開頭my-a//不能用減號分割a.ss//不能使用標(biāo)點(diǎn)符號ab//不能有空格如其注意同的前綴或者后綴,在實(shí)際編程往往不太注意這些,規(guī) 名變量使其他人更容易閱讀,命名變量時(shí)通過為其增需后綴都會在“輸出面板”顯示出來。時(shí)候往往不太注意這些,規(guī) 名變量使其他人更容易閱讀,命名變量時(shí)通過為其增需后綴都會在“輸出面板”顯示出來。時(shí)候trace()卻不再輸出。是最方便的調(diào)使用trace函數(shù)輸出變量下1varvarb="AS"varc=(3+5)使用變量保存信息就叫做給變量賦值。在Flash中給變量賦值vara=5;//把常量5a。trace(a);//輸出面板輸出5set(“a”,5);//set()5。變3?本地變量。本地變要var結(jié)束時(shí)varvarb="AS"varc=(3+5)時(shí)間軸varvarb="AS"varc=(3+5)時(shí)間軸set。中它時(shí)間軸變量也可例如:如果將代碼“varx=10;”放置在第20幀上,則附加到20幀之前的任何幀上的作變?nèi)肿兊淖兞?,請?jiān)谧兞棵Q前使用_global標(biāo)識符,并且不使用var語法。例在根時(shí)間軸第一幀上定義兩個變量,trace()放在不同地點(diǎn)去返回它們的值,以觀察它首先給變量賦值,然后才能在表達(dá)式中使用它。在flash中可以使用on(release)k=random(30)+50;setProperty("mc",_xscale,k);setProperty("mc",_yscale,}2.如果使用未賦初值過的變量該變量的值將是NaNundefined。并且動件vark=x*x;varx=6;在下面的示例中申明變量的語句必順排在第一行,這樣k就可以替換為一個值varx=6;vark=x*x;(1)flash,新建一個文檔,文檔屬性默認(rèn)可能產(chǎn)單擊文本工具,打開“屬性”面板,在其文本單擊文本工具,打開“屬性”面板,在其文本選擇圖層1的第1幀,打開動作面板,輸入以下代碼var在場景“圖層1”的第一幀,在舞臺上建立一個動態(tài)文本和輸入文本,在屬性面板里為動態(tài)文本輸入實(shí)例名“輸入”,為輸入文本輸入實(shí)例名“輸出”。on(press)輸出=輸入}清空按鈕上的代碼on(press){var輸入var輸出}2圖層21幀,添加代碼:1)在舞臺上建立兩個輸入文本,分別在屬性面板里輸入變量名“r”和“h輸入文本,在屬性面板里輸入變量名“s”,自己安排好文本的位置。添加AS代碼:on(release){s=}on(press){r="";h=s=}2*Math.PI*(r*r)+2*Math.PI*r*h中,Math.PI代表圓周率,在計(jì)算精確度不高時(shí),通常是取它的近似值為3.14。而2*Math.PI*(r*r)表示兩底面的面積和;2*Math.PI*r*h表示側(cè)面積。數(shù)據(jù)類 都有一個共同特點(diǎn);他們都需要處理數(shù)據(jù)flash中根據(jù)數(shù)據(jù)的處理方法的不同,對數(shù)據(jù)進(jìn)行 常說" 常說"變量是保存信息的容器",為了區(qū)別分不同類型的變量,就有了數(shù)據(jù)類型,變量類型.就說說一類叫做參考類型(參考類型數(shù)據(jù)包括影片剪輯和對象兩種值字符串型(string):字符串是諸如文字、字母、數(shù)字和標(biāo)點(diǎn)符號等字符的序列。在動作腳例數(shù)值型Number:您可以使用加(+)、減(-)、乘(*)、除(/)、求模(%)、遞增(++)和遞減MathNumber類的方法來處理數(shù)字。下面的示例使用sqrt()(平方根)返回?cái)?shù)值100的平方根10。trace(Math.sqrt(100));//返回?cái)?shù)值100。布爾型)(true)(false)值是true也會在適當(dāng)時(shí)將值truefalse10定對象及其屬性,可以使用點(diǎn)(.)運(yùn)算符。影片剪輯MovieClip):影片剪輯是Flash應(yīng)用程序中可圖形元素的數(shù)據(jù)類型。MovieClip數(shù)據(jù)類型允許您使用MovieClip元件,可以使用點(diǎn)(.)運(yùn)算符調(diào)用這些方Flash中最活躍的元trace(_rootmc._x);trace(_rootmc._height);Undefined:表示未定義的數(shù)據(jù)類型,undefined值例如沒有定義變量a的情況下trace(aUndefined。typeof()trace()結(jié)合使本例使用typeof()trace()結(jié)合使本例使用trace語句與typeof函數(shù)共同測試數(shù)據(jù)類型。為大Flash數(shù)據(jù)類型實(shí)現(xiàn)更fla源文件編輯狀態(tài)下單擊“控制”|出面板看到效果,測試swf文件是不會得到任何輸出的typeof用說明:typeof運(yùn)算符讓Flash式;在舞臺中放一個影片剪輯元件,并輸入實(shí)例名“my_mc在舞臺中放一個按鈕。并輸入實(shí)例名“my_btn在舞臺中繪制一動態(tài)文本,輸入文本實(shí)例名“txt2”。在動態(tài)文本中任意輸入文字。 trace(typeof(txt1));trace(typeof(my_mc));trace(typeof(my_btn));trace(typeof(txt2));trace(typeof(Math.PI));trace(typeof(3<1));trace(typeof(System));trace(typeof(stop));顯示對各類表達(dá)式使用運(yùn)算符的結(jié)果如下表所示。fo3“oofoo和3用運(yùn)算符連接變量或者常量得到的式子叫做“表達(dá)式起還叫做表達(dá)式,例如:圓柱體表面積計(jì)算公式2*Math.PI*r*r+2Math.PI*r*h?!笔亲兞?。+是變量。+”和“*”分別表示加法運(yùn)算和乘法運(yùn)算,是運(yùn)算符,這個式子就是表達(dá)式。在同一語句中使用兩個或多個運(yùn)算符時(shí)如(+),減(-)的優(yōu)先順序最低,(*),除(/)的優(yōu)先順序較高,而括號具有最高的優(yōu)先順序,當(dāng)一 優(yōu)先級高的運(yùn)算符,然后再計(jì)算優(yōu)先級較低的運(yùn)算符;當(dāng)表達(dá)式中包含括號時(shí),則先對括號可以執(zhí)行加法、減法、乘法、除法運(yùn)算,也可以執(zhí)行其他算術(shù)運(yùn)算。Flash中的算術(shù)運(yùn)算符c1、c2、c3。再繪制兩個輸入文本,變量名為a、b。放入四個按鈕,分別選中按鈕輸入AS:on(press){c1=3+2;}on(press)c2學(xué)習(xí)}on(press)c3=c3=}(4)on(release)c3=}那么程序就會把其中的數(shù)字當(dāng)成字符串c3=區(qū)別x++和++x場景第1幀上(1)x++on(release){a_txt=++x;}(2)on(release){b_txt=y++;}幀循環(huán)場景第1幀上場景第2a_txt=場景第3on(release){}on(release){}用++i格式時(shí)將先執(zhí)行加1操作,然后在使用表達(dá)式的值,當(dāng)使用i++格式時(shí)則首先使用表達(dá)式的值然后執(zhí)行加1操作。取模運(yùn)場景第1varonrelease)a_txt=i++;場景第1varonrelease)a_txt=i++;},取余運(yùn)算并不在乎其取余數(shù),例如7/2flash中取余運(yùn)算用使用余數(shù)1去參加運(yùn)算,稱為數(shù)字7對數(shù)字2的余(模),1保存到變量my_a中可以寫my_a=7%2,有些編程語言中取余運(yùn)算不用%,而是用mod6..22賦值運(yùn)算FLASH用了大量的賦值運(yùn)算符,可以使設(shè)計(jì)的動更簡潔,FLASH的賦值運(yùn)算符。第1按鈕1AS:on(release){a+=a_txt1=}按鈕2AS:on(release){b-=a_txt2=}按鈕3AS:on(release){c*=a_txt3=}按鈕4AS:on(release){d/=按鈕4AS:on(release){d/=a_txt4=}按鈕5AS:on(release){e+=e%=a_txt5=}跟隨((11))在在舞臺上用靜態(tài)文本輸入文字“鼠標(biāo)跟隨特效”一次分離后,分別把各個字分別轉(zhuǎn)換為影片剪輯元件。注意:轉(zhuǎn)換時(shí) 點(diǎn)要居中。然后依次分別輸入實(shí)例名稱:“mc1”、“mc2”、“mc3”、“mc4”、“mc5”、“mc6“圖層2”在“圖層2”第1幀輸入AS代碼_rootmc1._x+=(_root._xmouse-_rootmc1._y+=(_root._ymouse-_rootmc2._x+=(_rootmc1._x-_root_rootmc2._y+=(_rootmc1._y-_root_rootmc3._x+=(_rootmc2._x-_root_rootmc3._y+=(_rootmc2._y-_root_rootmc4._x+=(_rootmc3._x-_root_rootmc4._y+=(_rootmc3._y-_root_rootmc5._x+=(_rootmc4._x-_root_rootmc5._y+=(_rootmc4._y-_root_rootmc6._x+=(_rootmc5._x-_root_rootmc6._y+=(_rootmc5._y-_root(3)2第2幀上的AS標(biāo)實(shí)際上就是計(jì)算出兩實(shí)例距離,然后把這個距離除以這里的5叫做速度這個公式不僅用于實(shí)例的移動可以實(shí)現(xiàn)mc10020可以實(shí)現(xiàn)mc10020和條件語句中。中的算術(shù)運(yùn)算符及簡單的用法如表:個按鈕。按鈕1AS:on(release){m1_txt=1==2;m2_txt=m3_txt=m4_txt=1!=}按鈕2AS:on(release){m4_txt=}格式:表達(dá)式式1?表達(dá)式2:表達(dá)式參數(shù):表達(dá)式1為像x5這樣的比較表達(dá)式。表達(dá)式23Flash計(jì)算表達(dá)式11的值為true,則它返回表達(dá)式2的值;3Flash計(jì)算表達(dá)式11的值為true,則它返回表達(dá)式2的值;否則,它返回表達(dá)式3的值。 一 計(jì)算”按鈕、一個“清空”按鈕。運(yùn)算按鈕上的AS代碼on(press)x=Number(x_txt);y=Number(y_txt);z=(x<y)?x:y;z_txt=z;}清空按鈕上的ASon(press){}mc,放入一個按鈕,然后輸入AS場景第1幀上的AS代碼:var按鈕上的ASon(press)i++%2==0?_root.mc.play():_root}1幀上:vark=false;on(press){k?_rootmc.play()1幀上:vark=false;on(press){k?_rootmc.play():_rootmc.stop();k=!k;}on(press)i++%2==0?[_root.mc1.play(),_rootmc2.play()]:[_rootmc1.stop(),_root}邏輯運(yùn)算符對布爾值(truefalse)進(jìn)行比較,然后返回第三個布爾值。在表達(dá)式中,用戶可以使用邏輯運(yùn)算符來判斷某個條件是否存在。邏輯運(yùn)算符主要用在ifdowhile動Flash8,大小默認(rèn),幀頻為24fps在舞臺上繪制一個直徑為60的無筆觸放射狀填充的小正圓(小球F8鍵轉(zhuǎn)化為影片剪輯元件選中小球,在屬性面板里輸入實(shí)例名點(diǎn)居中“圖層2圖層2”重命名為“AS6.在“AS”的第2幀,第三幀上在第1幀上添加AS代碼:vari=20;varj=第二幀上添加AS代碼_rootmc._x<=30||_rootmc._x>=520?i=-i:_rootmc._y<=30||_rootmc._y>=370?j=-j:_rootmc._x+=_rootmc._y+=第3幀上的代碼_rootmc._y+=第3幀上的代碼1幀上初始的變量值是決定小球的運(yùn)動方向與運(yùn)動速度的2(3)3頭在第2幀同第3幀之間循環(huán)此例條件運(yùn)算式了中setProperty()getProperty()函數(shù)動態(tài)設(shè)置和獲取影片剪輯屬這一課取影 AS語言是怎樣描述影片剪輯的屬性的、怎樣用程序來設(shè)置和剪輯的屬性。下面列出了影片剪輯常用屬里用點(diǎn)語法設(shè)置影里用點(diǎn)語法設(shè)置影片剪輯屬性稱mc1場影中,選中“花”影片剪輯元件,在屬性面板里輸入實(shí)例名稱(2)在場景中創(chuàng)建一個動態(tài)文本,并在屬性面板里輸入變里名txt”.2.寫代碼(場景中的按鈕從上到下依次叫按紐1~按鈕6)按鈕1上的代碼on(release)_rootmc.mc1._xscale+=_rootmc.mc1._yscale+=。_root.txt放縮度:"+_rootmc}按鈕2上的代碼on(release)_root.txt放縮度:"+_rootmc}按鈕2上的代碼on(release)_rootmc.mc1._xscale-=_rootmc.mc1._yscale-=_root.txt="放縮度:"+_rootmc}按鈕3上的代碼on(release)_rootmc.mc1._roion+=_root.txt旋轉(zhuǎn)度_rootmcmc1._ro}按紐4上的代碼on(release)_rootmc.mc1._roion-=_root.txt旋轉(zhuǎn)度_rootmcmc1._ro}按紐5上的代碼on(release)_rootmc.mc1._alpha-=_root.txt}:"+_root按紐6上的代碼on(release)_rootmc.mc1._xscale=_rootmc.mc1._yscale=_rootmc.mc1._roion=_rootmc.mc1._alpha=}在上例學(xué)習(xí)了點(diǎn)運(yùn)算符設(shè)置和獲取影片剪輯的屬性影(:Object,property:Object,:Object): :Object徑:Object式mc1mc2”水平中齊。在第mc1mc2”水平中齊。在第mc1._x=275;setProperty(mc2,_x,etProperty(mc2,_x,flash,):功能:my_mc的指定屬性的值。my_mc:String稱property。返回:Object—指定屬性的值。此(1), 在屬性面板里設(shè)置實(shí)例名為“b_mc(3)入代碼on(release)setProperty("b_mc",_width,getProperty("a_mc",_width));setProperty("b_mc",_height,getProperty("a_mc",_height));setProperty("b_mc",_x,getProperty("a_mc",_x)+200);setProperty("b_mc",_y,getProperty("a_mc",_y));}使用setProperty()函數(shù)批量更改影片剪輯屬下圖是實(shí)效果中的一個面畫制作步flash文檔,文檔大?。?00×400制作步flash文檔,文檔大?。?00×400在舞臺上繪制一個直徑為604個影片剪輯實(shí)例qiu1qiu2“qiu3qiu4qiu5把5個影片剪輯實(shí)例on(release){i<5?i++:i=1;setProperty("qiu"+i,_x,100*i);setProperty("qiu"+i,_y,180);setProperty("qiu"+i,_alpha,100-(i-1)*20);}on(release){i<5?i++:i=1;setProperty("qiu"+i,_x,100*i);setProperty("qiu"+i,_y,2/3*100*i);setProperty("qiu"+i,_alpha,100-(i-1)*20);}在場景第1幀輸入代碼var1i=0,當(dāng)?shù)谝淮吸c(diǎn)擊按鈕時(shí)i++的值為1擊時(shí)的值為所以,_alpha100-(i-1)*20依次為:100、80、60、40、20_x100*i依次為:100、200、300、400、500縱坐標(biāo)_y的算法:場景大小為600×400,坐標(biāo)原點(diǎn)_x100*i依次為:100、200、300、400、500縱坐標(biāo)_y的算法:場景大小為600×400,坐標(biāo)原點(diǎn)(0,0)在左上角,所以對角線的斜率為:400/600=2/3,對角線方程為:y=2/3x,因?yàn)闄M坐標(biāo)_x為:100*i,所以縱坐標(biāo)_y的值設(shè)置100個影在動態(tài)路通 函數(shù)可出若干的新影片剪輯實(shí)例要。 this來指注意:動態(tài)路徑使用數(shù)組運(yùn)算符[]符說明:使用動態(tài)路徑可以批量實(shí)現(xiàn)路徑.假如場景中有影片剪輯實(shí)例mc1,mc2…mc100假如用絕對路徑要寫100行程序,用動態(tài)路徑非常方便,因?yàn)檫@些實(shí)例名有一定的規(guī)律,開頭mcn來表示,因?yàn)樽兞渴强梢宰兓痏rootmcAmc1mc100,可以這樣來表示"mc"+itxt,可以這樣來表示利用動態(tài)路徑批量更改影片剪輯的屬性。進(jìn)入qiu1的編輯場影中, “圖層2”在此圖層上建立一個動態(tài)文本,在屬性面板里輸入變量名txt。因?yàn)榱硗馑膫€影片剪輯實(shí)例是由(3)把兩個按鈕上的代碼分別改為on(release){i<5?i++:i=1;_root["qiu"+i]._x=_root["qiu"+i]._y=_root["qiu"+i+".txt"]=}on(release)i<5?i++:_root["qiu"+i]._alpha=100-(i-_root["qiu"+i]._x=_root["qiu"+i]._y=_root["qiu"+i+".txt"]=}掌握_root["qiu"+i]._y=_root["qiu"+i+".txt"]=}掌握if語句、if-else語句、elseif語句的語法格式及其功能一個程序都是由若干個基本結(jié)構(gòu)組成,每個基本結(jié)構(gòu)包含一個或多個語句。if|條件/循環(huán)|if語句if(條件小括號里的條件是一個計(jì)算結(jié)果為truefalse的表達(dá)式。這里是當(dāng)條件計(jì)算為true時(shí)執(zhí)行的指令}功能:其中,if,注意字母是小寫,這個if語句的功能是if后truefalseiftruefalseif(22”上建立兩個按紐實(shí)例(計(jì)算按鈕和清空按紐on(release)vark=Number(a_txt);b_txt=(k%3==0);if(k%3==0)c_txta能被3整除}d_txt這里顯示的是花括號后面的語句}on(release){a_txt="";b_txt=c_txt=d_txt=}if}名字名字de眼淚if}名字名字de眼淚if}名字名字de眼淚de眼淚(3)if名句中的條件可以是多個的,要用邏輯運(yùn)算符進(jìn)行連接,這時(shí)flash將進(jìn)行判斷var用戶名var用戶 ="123";if(用戶名=="de眼淚de眼淚"&&用=="123") }在這段代碼中,if中的條件有兩個,用&&運(yùn)算符來連接,代表兩個條件都為真時(shí)才執(zhí)行語見表達(dá)式類型。這時(shí)flash將按真處理。if-else語if-else語句的一般形式為if條件//程序1,條件為真時(shí)執(zhí)行的程}else//程序2,條件為假時(shí)執(zhí)行的程}1,當(dāng)條件不成立時(shí)執(zhí)行程序2,這兩個程序只選擇一個執(zhí)后,就執(zhí)行下面的程序。if-語句執(zhí)行的程如if-else語句執(zhí)行的過,里設(shè)a_txtif-else語句執(zhí)行的過,里設(shè)a_txtb_txt、“c_txt、“d_txt。(3)單擊“清空”按鈕上的代碼on(release){a_txt="";b_txt=c_txt=d_txt=}on(release)}on(release)vark=Number(a_txt);b_txt=(k%3==0);if(k%3==0)c_txta能被3整除}elsed_txta不能被3整除}}(4)片程序1,當(dāng)條件為假時(shí)執(zhí)行程序2。100以內(nèi)的加法運(yùn)算100以內(nèi)的兩個整數(shù)加法運(yùn)算的填空題課件,運(yùn)行課件時(shí),單擊“請出題按鈕,隨機(jī)顯示兩個加數(shù)后,單擊“查成績”按鈕,即可判斷答題是否正確。制作步flash新建一個名為“填空題”的影片剪輯元件,將“圖層1”更名為“背景和標(biāo)題后新建一個名為“動態(tài)文本”的圖層,在這個圖層上,創(chuàng)建4里設(shè)置好文本屬性,并輸入分別輸入實(shí)例名a、b、c、d(a、b用來顯示兩個加數(shù)用來顯示和,d用來顯示反饋)按照它的們的功能,安排好用來顯示和,d用來顯示反饋)按照它的們的功能,安排好位置。再用靜態(tài)文本輸入“+”on(press)a=random(100);b=random(100);c="";d=}on(press)ifNumber(a)+Number(b)Number(cd="答對了!";}elsed}}elseif語句位置:ActionScript語言元素>elseif語句if(1程序}elseif(2程序…}elseif(條件s程序}功能:elseif1的判斷,如果條件11,如果條件1為假則跳過程序1,進(jìn)行條件2的判斷,其它依此類推。心心相 FLASH文檔,大小默認(rèn)(3)件為heart(4)AS的層,單擊第一幀,打開動作面板,輸入下列代碼vari=varj=varcon=在AS層的第2空白關(guān)鍵幀,在其動作面板中輸入下heart._xscale=heart._yscale=i+100;if(con){}else{varj=varcon=在AS層的第2空白關(guān)鍵幀,在其動作面板中輸入下heart._xscale=heart._yscale=i+100;if(con){}else{}if(i==1){con=true;}elseif(i==j){con=false;}在AS層的第3空白關(guān)鍵幀,在其動作面板中輸入下十八、影片剪輯處理函面Script和按鈕注意到幀Script的執(zhí)行是由時(shí)間決則幀Script就不會執(zhí)行了,而按鈕則Script是基于事件的,它只和其驅(qū)動函數(shù)on(...)中的事件有關(guān),影片剪輯和按鈕一樣也支持事件驅(qū)動,它的驅(qū)動onClipEvent通(load,enterframe,data等)和用戶入幀Script,所以影片剪輯的控制功能十分強(qiáng)大onClipEvent?位置|影片剪輯控制|onClipEvent處理函FLASH中使用onClipEvent命令來根據(jù)影片剪輯的狀態(tài)觸發(fā)動作onClipEvent通常使用以下的格onClipEvent(事件名稱//程}參數(shù):movieEvent:ObjectmovieEvent是一個稱為事件的觸發(fā)器。當(dāng)事件發(fā)生時(shí),執(zhí)行該事件后面大括號({})中的語句??梢詾閙ovieEvent參數(shù)指定下面的任一值:事件的觸發(fā)器常見的取值如下:編寫程序時(shí),F(xiàn)lashonClipEvent的事件名稱,在一個影片剪輯的“動作”面板中輸入onClipEvent時(shí)會編寫程序時(shí),F(xiàn)lashonClipEvent的事件名稱,在一個影片剪輯的“動作”面板中輸入onClipEvent時(shí)會自動彈出事件列表Load事load事件只發(fā)生一次認(rèn)識loadonClipEvent(load){trace("發(fā)生load事件");}load事件。Load事件通常用上Unload事Unloadload對比loadunload事件,在上面實(shí)例的基礎(chǔ)上,執(zhí)行下列操作(1)為onClipEvent(load){trace("對比loadunload事件,在上面實(shí)例的基礎(chǔ)上,執(zhí)行下列操作(1)為onClipEvent(load){trace("發(fā)生load事件");}onClipEvent(unload){trace("發(fā)生unload事件");}(2)2021空白關(guān)鍵幀。第幀load事件和unload事enterFrame一個事件enterFrame的重要性。enterFrame事件是以影片剪輯幀頻不斷觸發(fā)的動作。且觸發(fā)的頻率與Flash影片的幀頻一致。enterFrame事件首先處理與enterFrame影片剪輯事件關(guān)聯(lián)的動作,然后才處理附enterFrame事件其實(shí)是一個不斷執(zhí)行的程序,執(zhí)行的速度取決于幀頻。Flash中默認(rèn)的幀12fps,表12幀需要一秒的時(shí)間,利用這個原理可以制作一個簡單的計(jì)時(shí)器enterFrame事件制作計(jì)時(shí)器(1)在舞臺上建立兩個動態(tài)文本,并在屬性面板里設(shè)置變量名為a_txtb_txt在第2幀2影片剪輯元件。在第2幀插圖入關(guān)鍵幀。onClipEvent(load)vari=0;}//當(dāng)影片載入時(shí)初始變量ionClipEvententerFrame)//影片進(jìn)入幀時(shí),程序每執(zhí)行一次,i_root.a_txt=//場景中的動態(tài)文本顯示i的_root.b_txt=//i除以幀頻,enterFrame每執(zhí)行一次得到所需時(shí)間,并保留兩位}清33”建立三個按鈕實(shí)例,分別用作“計(jì)算止on(press){}on(press){}onon(press){}on(press){}on(press){i=0;a_txt=b_txt=}44“的第1幀添加代碼 可以看到:enterFrame事件是以影片剪輯幀頻不斷觸發(fā)的動作。且觸發(fā)的頻率與Flash影片的幀頻一致。mouseDown事件:_xmouse和_ymouse屬性用于確定當(dāng)前鼠mouseMove事件:當(dāng)按下鼠標(biāo)左鍵時(shí)啟動此動mouseUp事件鼠標(biāo)行為控制小1一個小球,用放射狀填充,填充為#FBFBFB、#070707,居中對齊,然后把繪制好的小球轉(zhuǎn)換為影片剪輯“元件2選中元件12碼onClipEvent(load){kk=false;}onClipEvent(mouseDown){kk=true;}onClipEvent(mouseUp){kk=false;}onClipEvent(enterFrame){if(kk){_x+=_y+=}elseif(kk==false)_y+=}elseif(kk==false)_x+=(this._parent._xmouse-_y+=(this._parent._ymouse-}}(3)把“元件”1提到場景,用任意變形工具把小球 用變形面板,設(shè)置旋轉(zhuǎn)60度,點(diǎn)并應(yīng)用變形按鈕5次出5個小球,此時(shí)制作簡單的Flash涂鴉onClipEvent(mouseMove){if(myDraw){_root.lineStyle(5,0xFF0000,}}onClipEvent(mouseDown){myDraw=_rootmoveTo(_root._xmouse,}//myDraw為真,并在鼠標(biāo)位置定義畫線的起onClipEvent(mouseUp){myDraw=false;}(3)代碼on(press)}moveTo()lineTo()函數(shù)時(shí)只moveTo(x1,y1)代,MovieClip類的方法和事件處理函數(shù)lineTo()功能(x,y)繪畫位置隨后會設(shè)置為(x,y)。如果正在其中繪制的影片剪輯包含用Flash繪畫工具創(chuàng)建的內(nèi)容,則調(diào)用lineTo()方法將在該內(nèi)容下面進(jìn)行繪制。如果在對moveTo()進(jìn)行任何調(diào)用之前調(diào)用了MovieClip類的方法和事件處理函數(shù)lineTo()功能(x,y)繪畫位置隨后會設(shè)置為(x,y)。如果正在其中繪制的影片剪輯包含用Flash繪畫工具創(chuàng)建的內(nèi)容,則調(diào)用lineTo()方法將在該內(nèi)容下面進(jìn)行繪制。如果在對moveTo()進(jìn)行任何調(diào)用之前調(diào)用了lineTo(),則當(dāng)前繪畫位置默認(rèn)為(0,0)。如果缺少任何一個參數(shù),則此方法將失lineStyle()功能:指定FlashlineTo()curveTo()方法調(diào)用的線條樣式,在以不同參數(shù)調(diào)用lineStyle()方法之前,線條樣式不會改變??梢栽诶L制路徑的中間調(diào)用lineStyle()以為路徑中的不同線段指定不同的樣式。keyDown:當(dāng)按下某個鍵時(shí)啟動此動作。使用Key.getCode()獲取有關(guān)最后按下的鍵的信KeyUp:小結(jié):在onClipEvent()load事件和enterFrame事件是最常用,最重要的。掌握好。在影片剪輯上寫命令一定要選加上on命令。這一點(diǎn)大家一定要牢牢記住十九影片剪創(chuàng)建的影片剪輯的實(shí)例。在Flash作品中常見傾盆大雨、雪花飄飄、繁星點(diǎn)點(diǎn)等動畫特效,就是利用duplicateMovieClip()函數(shù)的功能來duplicateMovieclip(目標(biāo)、新實(shí)例名稱、深度);:Object-類型的參數(shù)以O(shè)bject類型列出新實(shí)例名稱:newname:String-深度:depth:Number-SWF文件函數(shù):當(dāng)SWF文件正1幀開始。原始影片剪輯中的duplicateMovieClip()函數(shù)時(shí),需要注意以下幾點(diǎn) (3(特別_x,_y,_alpha,_roion,_xscale,_yscale等屬性的控制)結(jié)合才能更好地發(fā)通過duplicateMovieClip()removeMovieClip()與刪除(1)F8鍵轉(zhuǎn)化為影片剪輯元件。并建立實(shí)例名“mc通過duplicateMovieClip()removeMovieClip()與刪除(1)F8鍵轉(zhuǎn)化為影片剪輯元件。并建立實(shí)例名“mcvar“圖層2”在此圖層的第1幀輸入代碼on(press){if(i<=12)duplicateMovieClip("mc","mc"+i,}else{i=12;}_root["mc"+i]._x=_root["mc"+i]._y=}on(press){if(i>=1){}else{i=1;}i--}位置:ActionScript2.0影片|方法 ovie(目標(biāo),新實(shí)例名,深度對象參數(shù)duplicateMovieClip()個參數(shù)只能是字符串類型。而。ovie()語句與duplicateMovieClip()的“目標(biāo)”是名稱。這是在框中的在上例出選項(xiàng)選中,在標(biāo)識符欄輸入“mc”。Actionscript在on(press)if(i<=12)}else{i=12;}ovie("mc","mc"+i,_root["mc"+i]._x=_root["mc"+i]._y=if(i<=12)}else{i=12;}ovie("mc","mc"+i,_root["mc"+i]._x=_root["mc"+i]._y=}梅(1)標(biāo)識符“h0h1落三朵梅花屬框中輸:onClipEvent(load){vari=0;}on(press){varn=ovie("h"+n,"mc"+i,this["mc"+i]._x=this._xmouse;this["mc"+i]._y=this._ymouse;this["mc"+i]._roion=random(5)*(120);}奇妙的觸高度為1150的白色線條。利用對齊面板,左對齊、垂直中齊(2)10幀、第20幀、第30幀、第40關(guān)鍵幀。并改變第10幀,第30幀上線條的著顏色,然后再把第120幀、第40幀上的線條改為(3)新建一個名稱為 輯區(qū)里,在“圖層1”的第1幀,從庫里提進(jìn)“線條”影片剪輯元件。左對齊、底對齊在屬性面板里輸入實(shí)例名“l(fā)ine“圖層2層寫AS:vari=0;line._visible=0;AS:duplicateMovieClip("line","line"+i,this["line"+i]._roion=i*3;this["line"+i]._x=0this["line"+i]._y0AS:if(i<120){}else{}this["line"+i]._roion=i*3;this["line"+i]._x=0this["line"+i]._y0AS:if(i<120){}else{}果不加控制,就會造成死循環(huán),最后死機(jī)。第三幀上的語句可i<120就(5)回到主場景,從庫里提 二十、startDrag():Object,,left:Number,right:Number,bottom:Number]):即startDrag(目標(biāo),固定,左,上,右,下Lefk、top、right、bottom、這四個參數(shù)分別設(shè)置影片剪輯拖動在左、上、右、下的范理解startDrag()函數(shù)中參數(shù)的作用(4)分別在按鈕中添加如下AS:第1個按鈕中的AS為:on(release){startDrag(_rootmc);//實(shí)現(xiàn)mc的鼠標(biāo)跟隨.。效果是元件與鼠標(biāo)有間隔}2AS為:on(release){startDrag("_rootmc",true);}第32AS為:on(release){startDrag("_rootmc",true);}第3個按鈕中的AS為on(release)startDrag("_rootmc",true,0,0,550,//寬550400的矩形范圍內(nèi)拖}第4個按鈕中的AS為on(release)startDrag("_rootmc",true,0,100,550,//寬0高為200的線型范圍}第5個按鈕中的AS為on(release){//停止}第5個按鈕,之后才能點(diǎn)擊其它按鈕.想想這是什么原因?以第1個按鈕為例:mc.startDrag();//實(shí)現(xiàn)mc的鼠標(biāo)跟隨.無參數(shù)。效果是元件與鼠標(biāo)有間隔。運(yùn)行Flash8,背景色為黑色,其它默認(rèn)新建一個名為“泡泡圖”的圖形元件。在其編輯區(qū)里繪制一個直徑為100的正圓,填充11幀庫里提進(jìn)圖12幀,第19關(guān)鍵幀,并在第1

溫馨提示

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

評論

0/150

提交評論