一天一個代碼,對新手來說是一個很好的學習機會,從淺入深,簡單易懂,如果你是新手來看看吧,很不錯的!
先來說一下代碼的使用,它的使用有兩種,一個是幀動作,一個是對象動作,幀動作就是在幀上加代碼,對象動作就是在被選中的對象上加上代碼(說的菜了點),怎麼加代碼呢,很簡單,幀動作就是選中那一幀然後“視窗”——>“動作”,開啟動作面板,這個面板的左側是可以用的代碼,右側是代碼框,也就是顯示你所輸入的代碼,在代碼框的上面是當前代碼內的一些參數。給對象加代碼也是一樣的操作,先選中對象,然後操作就和前面一樣了。
第一天,先學兩個很簡單的:gotoAndPlay和stop
stop是flash中最常用的代碼之一,它的作用就是停止當前現正播放的動畫。
gotoAndPlay也是最常用的代碼之一,它的作用是轉到並且播放指定情境的指定幀。
下面的附件裡是三個這兩個代碼相結合使用的例子。
gotoAndStop
今天我們來學gotoAndStop
這個代碼和gotoAndPlay一樣,gotoAndStop是轉到並停止指定情境的指定針
因為我的電腦壞了,現在還沒裝flash所以今天沒有源檔案了,大家可以用這個代碼把昨天的三個源檔案改一下
play
這次來學習play
這個代碼大家應該差不多都會用,每一個動畫幾乎都會用到它
大多都用在按鈕裡
stop
這個代碼也是最常用的一個,也是幾乎每個動畫裡都會用到的,它的作用就是停止當前現正播放的動畫。
stopAllSounds
這個代碼的作用是關閉當前播放的動畫中所有現正播放的聲音
按鈕代碼“on”
今天學習一下按鈕的代碼,但並不是全部,因為按鈕可以有很多種動作,這次學習的是按鈕常要用到的"on"
它的格式是:
on(滑鼠事件){
語句;
} 在動作面板的標準模式下給一個按鈕加代碼時這個格式的語句會自動出現,用不著自己加的。
下面是幾個滑鼠事件的源檔案
附件: on1.rar
fscommand
前面我們學習了動作面板中“影片控制”下的代碼,從今天起我們來學習下一個單元——“瀏覽器/網路”下的代碼,第一個就是fscommand
這個代碼具體我也說不好,我個人理解的就是一個發出命令的代碼,比如按一個按鈕就可以關閉當前的flash播放視窗,這個代碼就要用到它了,
下面還是給出幾個源檔案大家來自己體會一下吧
這裡只有三個源檔案,其他的選項大家可以自己做一下試試看會有什麼效果
注:exec大家可能不好看出效果,它的功能是在播放器內執行應用程式
附件: fscommand.rar
getURL
這個代碼對於大家來說應該不算很陌生
它的作用是:將指定的URL的文檔(也就是網頁)載入到視窗中
格式:
getURL("網址","視窗","變數");
下面是四個參數:
_self:指定當前視窗當前架構
_blank:開啟一個新視窗
_parent:當前架構的父級
_top:當前視窗中的頂級架構
注:網址必須要寫全,如:http://www.163.com
就要寫成這個樣子,一定要把http://寫上
下面是幾個源檔案,大家可以將這四個參數分別用進去試試看
附件: geturl.rar
loadmoive
loadmoive,有很多人都在帝國問過這個代碼怎麼用,下面我們就來簡單的學習一下
這個代碼是一個載入的作用,把指定的swf,jpg等檔案載入到flash player中
它的格式:
loadmoive("要負載檔案的路徑或網址",目標/層級,變數);
這裡要載入的檔案必須是和你這個代碼所在檔案是同一目錄的,如果不是,就要寫上絕對路徑(這裡哪點說的不對請大家指出,共同學習)
比如,cc.swf檔案和你這個源檔案在同一目錄下就可以寫成
loadmoive("cc.swf");
如果不在同一目錄下就要寫上路徑了
loadmoive("c:\cc.swf");
下面是兩個源檔案,它們都載入了cc.swf
附件: loadmoive.rar
loadvariable
說起來這個代碼和前面說的loadmoive差不多,都是載入一個檔案到flash中,它載入的是文字檔,CGI指令碼,ASP,PHP等
它的格式:
loadvariables(url,層級,方法);
這個代碼我幾乎是沒有用過,現在才是現學的,所以還有很多不會的地方,希望高手看到這個文章後可以補充一下。
下面來說它的用法:
我用今天的源檔案來說明一下吧,源檔案裡的效果是點擊按鈕就會在文字框中顯示a.txt的內容,那麼代碼要加在按鈕上,在url裡輸入a.txt,這個和loadmovie一樣,不一樣的是後面要選擇的是“層級”而不是“目標”了(這個代碼的“目標”不知道怎麼用)
注意:這裡特別要注意的就是你的文字框的變數名一定要和載入的文本中的變數名一樣,我這裡文字框的變數名是output,載入的文字檔中的內容是output=abc,這裡的ouput就是變數名
下面是源檔案,大家來一起理解一下吧
附件: loadvariable.rar
unloadmoive
今天學習的unloadmoive和前面的loadmoive正好相反,它是卸載已經載入的檔案
格式:
unloadmoive("目標");
其他的個人覺得不用多說了,下面是一個源檔案,很能說明問題
附件: unloadmoive.rar
duplicatemovieclip
今天我們來一次學習兩個代碼:duplicatemovieclip和下面的setproperty
這兩個代碼一般是在一起使用的(個人想法)
先來說duplicatemovieclip
它的作用就是複製影片剪輯(MC)
格式:duplicatemovieclip(目錄,新影片名稱,層級);
其中的“層級”就是複製的MC的疊放次序,低的在高的之下,比如層級為1的就被蓋在層級為2的MC之下
setproperty
它的作用是當影片播放時改變影片的剪輯的屬性值。
格式:setproperty(目標,屬性,值/公式);
其中“目標”的意思是要被改變屬性的MC的的執行個體名稱
“屬性”就是要設定的屬性
“值/公式”就是所要改變屬性的值(改變之後的)或者用一個計算公式來代表這個值。
下面是這兩個程式碼群組成的效果的源檔案
附件: 匯蟀.rar
onclipevent
今天學習的這個代碼大家是非常熟悉的,前面的執行個體中也都用過
它是影片事件,作用是當觸發指定的影片事件時則執行下面的語句。
格式:
onclipevent(影片事件){
語句;
}
removemovieclip
這個代碼是刪除用movieclip對象的attachmovie或duplicatemovieclip方法建立的或者用duplicatemovieclip動作建立的影片剪輯(MC)
說白了duplicatemovieclip和removemovieclip的關係就像loadmoive和unloadmoive的關係一樣。
格式:
removemovieclip(目標);
這裡的“目標”就是用duplicatemovieclip建立的MC的名稱
因為我一直沒有做成功,下面這個源檔案是聖魚幫我做的,在此謝謝他了
附件: 匯蟀.fla
startdrag
這個代碼是用來拖動影片剪輯(MC)的
格式:
startdrag(目標,[鎖定中心點,左,上,右,下]);
這個代碼很簡單,請看下面的源檔案
附件: startdrag.rar
有的人問過這樣的問題如何把按鈕的手型弄沒,好了今天我給大家來一段好嗎?
useHandCursor這個屬性就是改變滑鼠的手型
它的值是個邏輯值 一個是true 一個是false
下面是一個例子
BY tongxiao198546
附件: 罡泓沱-2.fla
stopdrag
昨天我們學了stardrag,今天就要學stopdrag了,這兩個代碼是一對,stopdrag就是釋放當前滑鼠拖動的對象。這個很簡單,下面是源檔案大家看一下應該就能都理解了,這兩個代碼學習完以後大家應該就能自己做一個簡單的拼圖遊戲了
附件: stopdrag.rar
updateAfterEvent()(多謝bluepoint和聖魚協助)
updateAfterEvent(clipEvent)
只能用在影片片段的動作裡,使得一處理完clipEvent事件就重新整理影片顯示。雖然滑鼠和影片片段事件當事件一發生就會執行,但由於影片FPS(每秒顯示的幀數)的限制,只有當播放至下一幀時事件所作的改動才會被顯現,而這時事件可能已被執行了多次。為了使事件即時作用,就可以在事件處理中調用updateAfterEvent,從而使動畫顯示平滑
這是源檔案,AS在方塊中,把updateAfterEvent();去掉比較一下,非常明顯
附件: 罡泓沱-8.fla
delete
今天我們正式進入變數的學習!!!!
今天要學的代碼是delete,這個單詞大家應該都認識,沒錯,就是刪除的意思,在變數的代碼裡出現它大家也能猜是什麼用途吧,那就是刪除變數!!!(嘻嘻,剛開始學變數第一個學的就是刪除變數)
別的不用多說了,看源檔案吧
注意:源檔案中定義變數是用的var,也是變數中將要學的代碼
這個源檔案的作用是當滑鼠按下時上面的動態文字框出現賦給它的變數的值(點中這個文字框,再去看屬性面板,在右下方有一個變數文字框,在那裡寫這個文字框所指的變數的名稱)
附件: delete.rar
var
這個代碼就是定義變數的作用
格式:
var 變數1 [=值]
簡單的一個式子就是這樣:var 變數=變數的值
源檔案上面那個代碼中也有
with
這個代碼的作用是指定一個對象,並使用語句參數計算對象中的運算式和動作。
格式:
with(對象){
語句;
}
下面的源檔案的作用是設定影片剪輯在情境中的x和y的位置,其中_x和_y都是在專家模式下寫入的
附件: with.fla
break
這個代碼常用在迴圈體和switch……case語句中,它的作用就是退出迴圈體的其它部分
flashboy82:
我來補充兩句,,,
舉例來說明break的用法,,,,下面的代碼不能用到真正用途上只供學習者參考
if(i<=10) then{gotoandplay(20)}
else{break};
說明如果變數i 小於等於10那麼就跳到第20針運行程式。。否則跳出該程式。
switch……case……default
這是三個代碼,都可以在“條件/迴圈”裡找到格式:
switch(運算式){
case 條件;
語句;
[default 條件;
語句;]
}
它們的意思是,如果switch後面的運算式的結果等於case後面的條件的話就執行這個case下面的語句,如果加了default的話,就是前面的case都不付合就執行default下面的語句。
下面是源檔案
它的意思是如果cc1中輸入的是1,那麼cc中就顯示“藍色茶壺”,如果是2,就顯示“綠茶”
附件: switch.fla
continue
default完了就改continue了吧
看茶壺忙的
兄弟來幫幫忙!
教程不會寫,直接上源檔案吧。呵呵!
BY 孤星寂影
這是附件(源檔案)
附件: continue.fla
do……while
因為機子有現成的源檔案,就直接傳來吧,教程——還煩各位老閃們添上吧。嘿嘿!~
附件: dowhile.fla
while
這個代碼的作用就是迴圈,每一次迴圈處理,都會先看是否滿足條件,如果滿足就執行下面的語句,如果不滿足就跳出迴圈。
格式:
while(條件){
語句;
}
下面的源檔案是從1加到100的效果
附件: while.fla
else
這個語句的作用是判斷,,,,
例子
if(password==passwrod1){gotoandplay(2)} else{gotoandplay(3)}
BY flashboy82
elseif
和if一起使用作用也是判斷
例子
if(password==password1){gotoandplay(2)} elseif(passwrod!=password1){gotoandplay(3)}
程式說明:
如果兩個密碼相等跳到第二針執行,,,否則如果兩個密碼不相等跳到第三針執行。。。
一般這樣的句子是用在flash配合後台做登陸頁面用的,,,
BY flashboy82
if……elseif……
就是說如果第一個條件付合就作第一個if後的語句,否則如果第二個條件付合就執行elseif下面的語句,這樣以此類推到第N個條件
for
這個也是一個迴圈語句
格式:
for(初始值;條件運算式;變數更新運算式){ 語句;
}
初始值:設定一個變數的初值,用來迴圈,在源檔案中可以看出來。
條件運算式:當初始值的那個變數付合條件時就繼續迴圈,否則跳出迴圈。
變數更新運算式:當初始值的變數按一定的規律變更。
下面的源檔案還是從1加到100的效果
注:其中i++的意思是i=i+1,上面的while的源檔案中好像也有這個,在此說明一下。
附件: for.fla
for……in
flash協助裡的
樣本
下面的樣本使用 for..in 迭代某對象的屬性:
myObject = { name:'Tara', age:27, city:'San Francisco' }; for (name in myObject) { trace ("myObject." + name + " = " + myObject[name]);}
此樣本的輸出如下所示:
myObject.name = Tara
myObject.age = 27
myObject.city = San Francisco
下面的樣本將 typeof 運算子與 for..in 一起使用來迭代特定類型的 child:
for (name in myMovieClip) { if (typeof (myMovieClip[name]) = "movieclip") { trace ("I have a movie clip child named " + name); }}
下面的樣本枚舉影片剪輯的子級,並將每個子級發送到其各自時間軸的第二幀。RadioButtonGroup 影片剪輯是一個父級,它具有多個子級:_RedRadioButton_、_GreenRadioButton_ 和 _BlueRadioButton。
for (var name in RadioButtonGroup) { RadioButtonGroup[name].gotoAndStop(2);}
BY 聖魚
第一個例子我是這樣理解的:
大括弧裡面的語句被執行了3次,每次執行以前name依次被賦值為"name","age","city";
可以再加上這樣一行:
trace("name="+name);
就可以看到name在最後值為“city”;因此,in前面那個參數是字串(string)屬性的