Flash AS基本語法_Flash教程
推薦:Flash鼠繪漂亮月季花過程“Flash動畫鼠繪入門班”第九課教材——畫月季花 月季花是中國十大名花之一,屬薔薇科,是一種低矮直立的落葉灌木,顏色 多種, 有粉紅,深紅,橘黃和白色等等。羽狀復葉,3—5片葉組成。
本例繼續講解AS的基礎知識,今天講解的是AS入門第三課:AS基本語法。
在第一課中我們己經介紹過,ActionScript是一部語言,即然是語言它就有它自己的語法
一、ActionScript語句是區分大小寫的:在ActionScript中英語字母的大小寫具有不同的意義的.我們來看一個例子:打開時間軸第一幀的動作面板,輸入:
Name="Sanbos";
name="假博士";
trace(Name);
測試影片,輸出窗口將出現Sanbos,ActionScript區分開了Name和name.現在將代碼改為:
Name="Sanbos";
Name="假博士";
trace(name);
測試影片,輸出窗口將出現:undefined,沒有輸出內容
二、ActionScript語句以分號作為每句的結束符號,以上面的代碼為例,把它寫成一行:
Name="Sanbos";name="假博士";
trace(Name);
這時ActionScript將這一行看成三句指令,每句中間用分號分開.測試影片,輸出窗口將出現Sanbos.那么將三句指令中間的分號去掉,那么,輸出窗口會出現語法錯誤的提示.所以我們應該養成,每一個語句結束時,輸入一個分號的習慣
三、關于點語法
在ActionScript中,應使用點(.)來訪問對象的屬性和方法.比如在舞臺上有一個叫mymc_mc的影片剪輯元件,我們要訪問它的屬性和方法,就需要使用點,比如:
mymc_mc._x
在對象的名稱后面輸入一個".",然后輸入其屬性和方法的名稱.
點的另一個作用是相當于路徑,就相當于文件系統如:c:/windows/…中的"/".比如我們一個動畫,主時間軸或者說舞臺,在ActionScript2.O中被寫為_root,舞臺上有一影片剪輯元件my_mc,如果要寫my_mc的_x屬性,就應該這樣寫:
_root.my_mc._x
你可能會說,我常看到只寫了my_mc._x,沒有_root.這種情況在主時間軸的幀動作上的,程序本來就在_root上,就可以省略.如果在舞臺上加一個按鈕用來設置舞臺上mc的_x屬性,用_root.對象的層次更清楚一些。如果代碼是寫在mc內部,就要加上_root或_parent了。如在按鈕上就要這樣寫:
on(release){
_root.my_mc._x=200;
}
又比如,做一個mc動畫,在mc的第一幀寫上stop();放在舞臺上,然后在舞臺上放一按鈕來控制mc播放,那么在按鈕上的程序就應該這樣寫:
on(release){
_root.my_mc.play();
}
四.注釋
ActionScript中注釋用來解釋和說明語句的作用.而注釋本身是不被執行的.注釋有兩種,一種是單行注釋,一種是多行注釋.單行注釋是以//開始到本行未尾.如:
trace("單行注釋");//這是單行注釋丨
測試影片時從雙斜杠開始以后的都不會執行.
另一種注釋方式是多行注釋,它是以/*開頭,以*/結束的.如:
/*這是多行注釋
在這個注釋范圍內的語句
都不會被執行*/
trace("多行注釋");
數據類型:計算機執行程序時處理的數據,與我們數學中的數字是不同的.數字只是數據的一種,在ActionScript中有很多種不同類型的數據,下面介紹一下幾種主要的數據類型.
Number:數字數據類型
uint:正整數
int:整數
String:字符或者叫文本,String數據類型常常用引號括起來,如:
Mystring="abc"
Boolean:布爾值,它只有兩個值:true、false,分別是真和假的意思.也就是"是"和"不是"的意思
Object:可以里解為對象
數據類型的轉換:雖然數據有不同的類型,但各種類型之間是可以轉換的.就象現在流行的變性手術一樣,做了一二十年的男人,突然想做女人了,做個變性手術就行了.在ActionScript中就簡單多了,下面來看看怎樣轉換
將數據轉換為數值類型:
數值類型有三種,用下面三個函數可以將真它數據類型轉換為數值:
Number()
int()
uint()
對于不能被轉換為數值的數據如英文字母,漢字等,int(),uint()則返回0,而Number()則返回NaN.
練習:在幀動作面板中輸入:
a="123";
b="abc";
c=int(a);
d=int(b);
e=Number(b);
trace("c=" c newline "d=" d newline "e=" e);
測試影片,在輸出窗口會出現:
c= 123
d=
0
e=NaN
來看看這幾句代碼:
a="123";這個"123"是用引號括起來的,那么它就是字符(String),它不是一個數值,而是由三個字符組成的字符串,它被讀為:一二三.
b="abc"更不用說是字符串了.
c=int(a);將a從字符串轉換為數值了,那么c就為123,被讀為:一百二十三.
d=int(b);很顯然abc是不能被轉換為數值的,當不能被轉換為數值時,int()返回0,所以d為0.
e=Number(b);當不能被轉換為數值時,Number()返回NaN,所以e為NaN.
如果要將布爾值轉換為數值,那么ture將被轉換成1,false則被轉換為0.
如:
a=ture;
b=false;
c=int(ture);//c為1
d=int(false);//d為0
另外int和uint類型都是整數,如果被轉換的數據為小數點的,那么它們會只返回整數部分,如:
a="3.5";
b=int(a);//b為3
c=Number(a)//c為3.5
這時我們立即就會想到可以用int(),uint()來取整,是的可以,不過需要注意的是它們是將小數點及后面的省略,而不是四舍五入
將數據轉換為字符串:
用String()可以將數據轉換為字符串.如:
a=5;
b =8;
c =String(b);//c為"8"
d=a c;
trace(d);
測試影片輸出為58(讀作:五八),這是因為c是字符,不能進行數學計算,只能是兩個字符連接.如果將d=a c;改為:d=a b;測試時就輸出13.
將數據轉換為布爾值:
只介紹一種情況,將數值轉換為布爾值.如果數值為0,則被轉換為false,否則轉換為true.僅管有Boolean()函數來轉換,但我們應該不會用它,但這并不意味著我們不會用到這種轉換,來看個例子:
My_mc._visible=0;
這句讓元件不可見的代碼,我們經常用到,mc的_visible屬性是是否可見的意思.設置這個屬性只能用布爾值,即true(是)和false(不是).但上一句我們確用的0,那么在執行這句代碼時,ActionScript會將0轉換為false,然再執行.所以上句代碼實際執行的是:
my_mc._visiblc=false;
這里可以看出,如果我們直接寫成: my_mc._visiblc=false;
計算機執行速度要快些,因為它不需要轉換,當然你說,我寫0要快些,那就隨你高興羅.
數據被存放在計算機內存之中,內存被分成很多個小房間,每個房間里存放一個或多個數據,為了便于使用這些數據,我們給這些房間取上一個名字,這就是我們要介紹的另一個重要概念:
變量:變量用來存放數據,它是一小塊內存的代號,如上所說,它就是內存中存放數據的小房間的名稱,要創建一個變量,它的語法是:
var 變量名稱:數據類型
比如:
var a:Number
這就聲明了一個變量a,它的數據類型是數值.運行下面的代碼:
var a:Number;
a= 10;
trace(a);
輸出面板將顯示10.
var a:Number;
a= b;
trace(a);
輸出面板將顯示:undefined,這是不知道的類型.因為聲明的變量a是數值類型,而給它賦值卻是b,b不是數值,所以輸出結果就只好說:不知道你在說什么?
上面a=10中的"="號是賦值,即將10放到變量a中.在聲明變量的同時就可以給它賦值,如:
var a:Number=10;
你可能要說,前面你怎么就寫的:
a=10;
是的,在ActionScript2.0中我們還可以直接寫:a=10,它實際上就是:var a=10,但這是最后的晚餐了,在ActionScript3.0中就必須寫var了.
上面介紹過,變量就象是內存中的一個房間,里面存放著數據.那個這個房間就是一人一間制.比如原來a房間中住著10,現在將15放進去,15進去后,一腳就將10踢出去了.運行下面代碼看看:
var a:Number;
a=10;
a=15;
trace(a);
結果顯示為:15
分享:Flash as教程:AS常用語句本例繼續講解AS的基礎知識,今天講解的是AS入門第四課AS常用語句。 AS常用語句 一.運算符1. = 賦值運算符,它不是數學中的等于,而是將=號右邊的值賦給左邊的變量. 2. 使用于字符串的運算符:
- 相關鏈接:
- 教程說明:
Flash教程-Flash AS基本語法
。