|
1.全屏播放 fscommand("fullscreen",true); 2.打開時全屏,在該針停止 fscommand("fullscreen",true); stop(); 3.跳幀播放(從第幾針開始播放后) on (press) { gotoAndPlay(?); } 4.點擊時開始播放 on (press) { play(); } 5.退出語句 如果是FLASH自帶的控件 on (click){ fscommand("quit",""); } 自已做的按鈕 on (release){ fscommand("quit",""); } 6、當鼠標滑過影片剪輯時,停止播放時間軸。 on (rollOver) { _root.stop(); } 7、當在影片剪輯上按下鼠標時,停止播放影片剪輯。 on (press) { stop(); } 8、當影片剪輯上按下鼠標時,播放影片剪輯。 on (release) { play(); } 9、當鼠標滑離影片剪輯時,播放當前時間軸。 on (rollOut) { _root.play(); } 10、Goto:跳到一個指定的幀(Frame) Scene: 指定 Scene Frame:Number,Label,Expression,Next Frame,Previous Frame 可以選擇 Frame 的編號,標號,通過表達式,下一幀,前一幀 Expression: 定義表達式 Control:Go to and Play,Go to and Stop 通過選擇這個項目來確定到達指定的幀以后是繼續(xù)播放還是停止 例子: Go to and Play (1) 跳到第一幀播放 Go to Next Frame 跳到下一幀播放 Go to and Stop ("intro") 跳到標號為 intro 的幀播 11、Play:播放 Stop:停止 Toggle High Quality:切換畫面的細節(jié)程度 Stop All Sounds:停止所有聲音 Get URL:打開指定的網(wǎng)址 URL: 網(wǎng)址 Windows:_self,_blank,_parent,_top 打開網(wǎng)址時使用的目標 Variables on’t Send,Send use GET,Send use POST 變量的傳遞方式 例子: Get URL ("next.asp", window="_blank", vars=POST) 在新窗口中打開 next.asp,并且傳遞參數(shù) 12、FScommand:調(diào)用命令 Command: 命令 Arguments: 參數(shù) For standalone player:fullscreen,allowscale,showmenu,exec,quit 播放器使用的固定命令和參數(shù) 例子: FS Command ("fullscreen", "true") 設(shè)置全屏幕播放 13、Load/Unload Movie: 調(diào)入/釋放外部的影片 Action:Load movie into location,Unload movie from location,Load variables into location: 可以選擇是否調(diào)入新影片,釋放已經(jīng)調(diào)入的影片,調(diào)入變量 URL:影片的網(wǎng)址 Location:Level,Target: 調(diào)入的層,或者是某一目標對象的位置 Variables on’t Send,Send use GET,Send use POST: 變量的傳遞方式 例子: Load Movie ("test.swf", 1): 把 test.swf 調(diào)入到第一層 Load Movie ("test.swf", "loadit", vars=GET): 把 test.swf 調(diào)入到 loadit 目標對象的位置 Unload Movie ("loadit"): 把 loadit 目標對象處的影片釋放 Load Variables ("makeit.asp", 2, vars=GET): 調(diào)用 makeit.asp 并接收返回的變量 14、 Tell Target: 指定目標對象 Target: 目標對象 例子: Begin Tell Target ("obj") 指定目標對象 obj End Tell Target 15、If Frame is Loaded: 判斷某幀是否調(diào)入 Scene: 指定場景 Frame:Number,Label,Expression: 指定幀,標號或者表達式 Expression: 表達式 例子: If Frame Is Loaded (Scene 1, "end") End Frame Loaded :判斷場景一的標號為 end 的幀是否調(diào)入 16、On MouseEvent 鼠標時間響應 Event ress,Release,Release Outside,Roll Over,Roll Out,Drag Over,Drag Out,Key Press 各種事件:按下,放開,在外面放開,焦點移入,移出,拖過,拖出,按鍵按下 例子: On (Press) 鼠標按下的時候 End On On (Key: s) 鍵盤上 s 按下的時候 End On 17、If 判斷條件是否成立 Condition: 條件 Add Else/Else If clause: 加入 Else 再次判斷 例子: If (a=10) 如果 a=10 那么…… End If If (a=10) 如果 a=10 那么……不然…… Else End If 18、Loop 循環(huán) Condition: 條件 例子: Loop While (a=10) 如果 a=10 那么循環(huán) End Loop 19、Call 調(diào)用函數(shù)幀或?qū)ο?br> Frame: 函數(shù)幀 例子: Call ("make") 調(diào)用 make 幀程序 20、 Set Property 設(shè)置屬性 Set:Y Positon,X Position,Y Scale,X Scale,Alpha,Visibility,Rotation,Name,High quality,Show focus rectangle,Sound buffer time 設(shè)置 y 坐標,x坐標,y 放大倍數(shù),x 放大倍數(shù),透明度,可視否,旋轉(zhuǎn)角度,名稱,精細度,焦點矩形框是否顯示,聲音緩沖時間(默認5秒) Target: 目標對象 value: 值 例子: Set Property ("aoe", X Position) = "12" 設(shè)置目標對象 aoe 的 x 坐標為 12 Set Property (Show focus rectangle) = "0" 取消焦點框 21、Set Variable 設(shè)置變量 Variable: 變量 value: 值 例子: Set Variable: "test" = 10 設(shè)置 test=10 22、Duplicate/Remove Movie Clip 復制對象 Action uplicate movie clip,Remove duplicate movie clip 可選擇是復制還是刪除 Target: 目標對象 New name: 新目標對象的名字 Depth: 深度 例子: Duplicate Movie Clip ("aoe", "aoe2", 1) 復制 aoe 一個新的動畫,名字叫 aoe2 Remove Movie Clip ("aoe2") 刪除目標對象 aoe2 23、Drag Movie Clip 拖動影片片段 Start drag operation: 開始拖動 Target: 目標對象 Constrain to rectangle:Left,Top,Right,Bottom 鼠標的位置,左上右下 Lock mouse to center: 鼠標放置在中心 Stop drag operation 停止拖動 例子: Start Drag ("aoe", L=2, T=3, R=4, B=5) 拖動目標對象 aoe,位置在 L=2, T=3, R=4, B=5 Start Drag ("aoe", lockcenter) 拖動目標對象 aoe,位置在中心 Stop Drag 停止拖動 24、Trace 跟蹤 Message: 信息 例子: Trace ("aoe") 顯示 aoe Trace (aoe) 顯示 aoe 的值 25、 Comment 注釋 Comment: 注釋 例子: Comment ("計算") 注釋:計算 box_btn.onPress=function(){ trace("ok"); }; 按鈕實例名稱.事件處理方法=function(){ //處理程序 }; 例如: n=1 box_btn.onRelease=function(){ n=n+1 trace("n="+n); } 當按鈕被點一下的時候,Output窗口會輸出:"n=2" onClipEvent(load){ stop(); } 以上是影片剪輯的事件處理函數(shù)。"()"的內(nèi)部是事件。 在一個FLASH里在第一個場景里調(diào)用第二個場景, 要在第一個場景里需要調(diào)用的地方加個按鈕,然后在按鈕上寫下如下代碼: on (release) { tellTarget ("_root") { gotoAndPlay ("mm2", 1); } } 其中,"mm2"是第二個場景的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是坐標軸 Card Game是SWF中MC的名字 on(release)結(jié)構(gòu)只能用于按鈕, 其他相關(guān)的幾種用法如on(press)、on(rollOver)、on(rollout)、on(dragOver)、on(dragOut)等。 26、else 對if語句可以進行擴展,使用else執(zhí)行條件不成立(比較表達式為false)時的代碼,如下所示: if (x == 9) { gotoAndPlay(15); } else { gotoAndPlay(16); } 你也可以使用else if語句將if語句更推進一步,如下所示: if (x == 9) { gotoAndPlay(15); } else if (x == 10) { gotoAndPlay(16); } else if (x == 11) { gotoAndPlay(20); } else { gotoAndPlay(25); } 你可以讓if語句想要多長就有多長,你也可以使用else if語句對別的變量進行比較,如下所示: if (x == 9) { gotoAndPlay(15); } else if (y<20) { gotoAndPlay(16); } else { gotoAndPlay(25); } 27、復合比較 你可以在一個if語句中對幾個比較表達式的值進行判斷, 比如說你希望在x為9并且y為20時跳轉(zhuǎn)到第10幀,可以使用如下所示的腳本: if ((x == 9) && (y == 20)) { gotoAndPlay(10); } 邏輯與運算符&&將兩個比較表達式聯(lián)接在一起成為一個復合表達式, 當兩個表達式的值都為true時復合表達式的值才為true。 每個比較表達式都需要添加獨立的括號以便Flash能正確識別。 在Flash的早期版本中使用and執(zhí)行邏輯與運算,現(xiàn)在已推薦不使用。 你也可以使用邏輯或運算符||將兩個比較表達式聯(lián)接在一起成為一個復合表達式, 只要有一個表達式的值為true,復合表達式的值就為true。如下所示: if ((x == 7) || (y == 15)) { gotoAndPlay(20); } 在該腳本中,只要x為7或者y為15,或者兩者都成立,結(jié)果都是跳轉(zhuǎn)到第20幀。 只有當兩者都不成立時,才不會執(zhí)行g(shù)otoAndPlay命令。 3.4.6 函數(shù) 到現(xiàn)在為止,我們都是將腳本放在影片的第1幀中。 如果程序相當復雜,再放在同一幀中就使腳本顯得太龐大了。 函數(shù)使你可以組織需重用的代碼,并放在時間軸中,例如: function myFunction(myNum) { var newNum = myNum+5; return newNum; } 函數(shù)以關(guān)鍵字function開頭,function后面是函數(shù)名。 與變量名相似,你可以指定自己的函數(shù)名,最好將函數(shù)名取得有意義一些。 函數(shù)名后面的括號容納該函數(shù)的參數(shù),所謂參數(shù)也是一個變量,它的值在調(diào)用該函數(shù)時予以指定。 一個函數(shù)可以有若干參數(shù),也可以沒有參數(shù)。無論有沒有參數(shù),函數(shù)名后都應緊跟一對括號。 大括號中的部分是函數(shù)體,在函數(shù)體中創(chuàng)建了一個局部變量newNum, 將myNum加5的結(jié)果設(shè)置為newNum的值。 如果你將10作為參數(shù)傳遞給該函數(shù),newNum的值就是15。 return命令僅用于函數(shù)中,使用return結(jié)束一個函數(shù)并返回函數(shù)值。 此處,newNum是用return命令返回的函數(shù)值。 要使用函數(shù),就需要調(diào)用它,如下所示: var a = myFunction(7); 該語句創(chuàng)建一個新的局部變量a,將7作為參數(shù)調(diào)用函數(shù)myFunction,并將函數(shù)返回的結(jié)果作為變量a的值。 被調(diào)用的函數(shù)開始運行,創(chuàng)建一個局部變量myNum,將7作為myNum的值, 然后執(zhí)行函數(shù)體內(nèi)的代碼,使用return命令將newNum的值12返回給函數(shù)的調(diào)用者。這時,a的值變?yōu)?2。 函數(shù)最大的作用體現(xiàn)在它可以重復使用。如下所示的3行代碼產(chǎn)生3個不同的結(jié)果: trace(myFunction(3)); trace(myFunction(6)); trace(myFunction(8)); 運行以上代碼,你將得到結(jié)果8、11和13。 使用函數(shù)還有一個好處就是可以只改變函數(shù)中的一處,從而影響所有調(diào)用該函數(shù)的命令。 例如,將函數(shù)myFunction中的var newNum = myNum+5改成var newNum = myNum+7, 上面3個調(diào)用該函數(shù)的命令的結(jié)果將變成10、13和15點語法的另一個用途是指定影片剪輯的屬性。 如下面的語句將影片剪輯myMC的_alpha(透明度)屬性設(shè)置為50%: myMC._alpha = 50; 你還可以在影片剪輯中使用點語法定位根(root)中的一個全局變量。 如果你在主時間軸中創(chuàng)建了一個全局變量globelVar, 而要在影片剪輯中使用這個全局變量,可以使用如下的語句: trace(_root.globleVar); stop:使影片停止在當前時間軸的當前幀中。 play:使影片從當前幀開始繼續(xù)播放。 gotoAndStop:跳轉(zhuǎn)到用幀標簽或幀編號指定的某一特定幀并停止。 gotoAndPlay:跳轉(zhuǎn)到用幀標簽或幀編號指定的某一特定幀并繼續(xù)播放。 nextFrame:使影片轉(zhuǎn)到下一幀并停止。 prevFrame:使影片回到上一幀并停止。 stop命令常常用在幀動作中,以使影片停止并等待用戶控制。 其他命令常常用在按鈕的事件處理函數(shù)中。 如果gotoAndPlay命令中只有一個參數(shù),F(xiàn)lash將認為它代表某個幀; 如果有兩個參數(shù),第1個參數(shù)將作為場景名,第2個參數(shù)代表該場景中的幀。 要定位包含某一對象的上一級對象,可以使用關(guān)鍵字_parent。 如果一個影片剪輯是包含在主時間軸中,在影片剪輯中使用_parent和_root的效果是一樣的。 如果影片剪輯與主時間軸相差兩個層級,即當影片剪輯包含在另一個位于主時間軸中的影片剪輯中, 這時在該影片剪輯中使用_parent指代的是它上一級的影片剪輯, 而_root是指它上兩級的主時間軸。在主時間軸中不能使用_parent,因為主時間軸沒有上一級。 28、詳細了解GOTO語句 prevFrame() 跳至并停止在前一禎。 nextFrame() 跳至并停止在下一禎。 prevScene() 跳至并停止在前一場景的第1幀。 nextScene() 跳至并停止在下一場景的第1幀。 gotoAndPlay([scene,] frame) 跳至scene場景(省略表示當前場景)的frame幀并播放。 gotoAndStop([scene,] frame) 跳至scene場景(省略表示當前場景)的frame幀并停止。 29、了解MC的各種可改寫的屬性 _x 中心點所在相對X坐標(象素單位) _y 中心點所在相對Y坐標(象素單位) _xscale 橫向縮放比例,初始為100 _yscale 縱向縮放比例,初始為100 _rotation 相對旋轉(zhuǎn)角度(度單位) _width 相對顯示寬度(象素單位) _height 相對顯示高度(象素單位) _alpha 顯示透明度(0~100) _visible 是否可見 _focusrect 是否顯示焦點框 _name 實例名稱 30、三大紀律:1>寫代碼時一定要用英文(如EN CH)輸入法 2>必須要有唯物主義思想,沒有加載的MC是不可以更改它的屬 性,更不可以寫代碼去控制它。這個問題較難掌握,高手有時也會 犯,道理就是先有吃的才能請客吃,啥也沒有請客吃什么呢 3>操作什么一定要選什么(實際上哪個軟件也要這樣)。在MX中加代 碼時如不選,就一定要寫明名稱,實際上也是一種先擇。 31、八項注意:1>按鈕不能蓋著輸入文本,動態(tài)文本和輸入文本域不能蓋著按鈕 2>用loadMoie時LEVEL1及以上的文件盡量少用大隱型按鈕 3>從一個文件中復制MC實例到別一個文件中時,盡量復制幀,而不能直接 復制實例, 4>從一個文件中復制MC實例到別一個文件中時,要先把目標文件中的符 號庫中原有的符號,裝進資夾里,很多網(wǎng)友這個問題上上過當吧? 需要記住一個動作的作用時,可在動作面板中使用comment(注釋)語句給幀或按鈕動作添加注釋。如果你在協(xié)作環(huán)境中工作或給別人提供范例,添加注釋有助于別人對你編寫的腳本的正確理解。 在動作面板中選擇comment動作時,字符"http://"被插入到腳本中。如果在你創(chuàng)建腳本時加上注釋,即使是較復雜的腳本也易于理解,例如: on(release){ //建立新的日期對象 myDate = new Date(); currentMonth=myDate.getMonth(); //把用數(shù)字表示的月份轉(zhuǎn)換為用文字表示的月份 monthName = calcMoth(currentMonth); year = myDate.getFullYear(); currentDate = myDate.getDat(); } 常量 常量有其值永不改變的屬性。常數(shù)用大寫字母列于動作工具箱中。例如,常數(shù)BACKSPACE、ENTER、QUOTE、RETURN、SPACE和TAB是Key對象的屬性,指鍵盤上的鍵。要測試用戶是否在按Enter鍵,可使用下面的語句:
if(keycode()= =key.ENTER){ alert = "你準備好了嗎?" controlMC.gotoAndStop(5);
|