ActionScript 3.0是一種基于ECMA-262規(guī)范的腳本語言,,它是 Adobe 公司在2006年發(fā)布 Flex 2 時提出來的,F(xiàn)lex 允許開發(fā)者創(chuàng)建的 Flash Player 程序和 Flash 一樣。但是,,F(xiàn)lash 卻給我們提供了更加直觀的界面,,因此它就更適合用作游戲開發(fā)。
ActionScript是在Flash4發(fā)布的時候提出來的,,當時的名稱就叫做ActionScript,他的主要能是用來控制幀的跳轉(zhuǎn)和鼠標,,鍵盤的交互,。直到發(fā)布Flash5之后,ActionScript才正式地作為ActionScript1.0使用,,但是它的發(fā)展速度相當快,,到了Flash MX2004(Flash 7),就引進了ActionScript2.0,,它遵循ECMA標準,,在面向?qū)ο缶幊谭矫妫_始變得逐步強大,。像應(yīng)用于瀏覽器的JavaScript,,也是基于ECMA標準的。
注:Flash 9/10 播放器內(nèi)部建有2套虛擬機,,AVM1用來執(zhí)行ActionScript1.0和2.0代碼,,AVM2用來執(zhí)行ActionScript3.0代碼,但是AVM2的速度要比AVM1快得多,。
一,、標識符
標識符是什么呢?簡單的理解就是我們每定義一個變量,,那么這個變量就稱之為標識符,,在ActionScript 3.0中,不能使用關(guān)鍵字和保留字作為標識符,。包括變量名,、類名、方法名等,。
二,、關(guān)鍵字
在ActionScript 3.0中,保留字包括“關(guān)鍵字”,,我們不能在代碼中將他們用作標識符,。下圖列出ActionScript 3.0中的關(guān)鍵字。詳細大家可以查看官方提供的文檔,,這里我就不一一列出,,文章尾我給出了ActionScript 3.0語言和組件參考在線文檔的連接,下面是ActinScript 3.0關(guān)鍵字在線文檔地址:
http://help.adobe.com/zh_CN/AS3LCR/Flash_10.0/statements.html
三、數(shù)據(jù)類型
數(shù)據(jù)是程序的必要組成部分,,也是程序處理的對象,。數(shù)據(jù)類型描述一個數(shù)據(jù)片段,以及可以對其執(zhí)行的各種操作,。數(shù)據(jù)存儲在變量中,,在創(chuàng)建變量、對象實例和函數(shù)定義時,,通過使用數(shù)據(jù)類型類指定要使用的數(shù)據(jù)的類型,。數(shù)據(jù)類型是對程序所處理的數(shù)據(jù)的抽象。
在ActionScript 3.0中包含兩種數(shù)據(jù)類型:基本數(shù)據(jù)類型(Primitive data type)和復(fù)雜數(shù)據(jù)類型(Complex data type).下面列出比較常用的數(shù)據(jù)類型:
1,、Boolean:布爾型,,它可以使用 true 或 false(用于進行邏輯運算)兩個值中一個值。
2,、int:表示為 32 位帶符號整數(shù)的數(shù)據(jù)類型,。 int 類表示的值的范圍是:-2,147,483,648 (-2^31) 到 2,147,483,647 (2^31-1)。
3,、uint:表示 32 位無符號整數(shù)的數(shù)據(jù)類型的方法,。
4、String:表示一串字符的數(shù)據(jù)類型,。
5,、Number:表示 IEEE-754 雙精度浮點數(shù)的數(shù)據(jù)類型。
6,、.Date:表示日期和時間信息,。
7、……..
四,、運算符
詳細請查看官方在線文檔:http://help.adobe.com/zh_CN/AS3LCR/Flash_10.0/operators.html
五,、常量和變量
在ActionScript 3.0中使用常量和變量和其他的編程開發(fā)語言一樣,沒什么太大的區(qū)別,,作用點都是相同的,。簡單理解就是常量就是值不會改變的量,變量則相反,。
在AS3.0中常量也可以分為兩種:頂級常量和用戶自定義常量,。所謂頂級常量就是語言庫內(nèi)部所提供的常量,他們是:
1,、Infinity:表示正無窮大
2,、-Infinity:表示負無窮大
3、NaN:表示非數(shù)字的值
4,、undefined:一個適用于尚未初始化的無類型變量或未初始化的動態(tài)對象屬性的特殊值,。
其次便是用戶自定義的常量了,,通常使用關(guān)鍵字const來定義。
不管是在什么編程語言中,,變量是用得最多的,,在ActionScript 3.0中也同樣如此。那么在AS3.0中的變量怎么定義呢,?變量定義格式為:
var 變量名:數(shù)據(jù)類型 或
var 變量名:數(shù)據(jù)類型=初始值 . 如下變量示例:
例,,定義一個字符串變量myString并賦初值為”AS3.0入門”:
var myString:String = “AS3.0入門”;
使用影片剪輯
如果你在庫中有一個影片剪輯,想把它添加到舞臺上的話,,有兩種方法可供選擇:
第一種方法:
先把這個影片剪輯從庫中拖放到舞臺上,,在屬性面板上取一個實例名稱,例如mymc1,,然后你就可以通過代碼來控制舞臺上這個影片剪輯的相關(guān)屬性了。下面代碼定義該影片剪輯的坐標為(300,,200):
第二種方法:
用純代碼來操作,。首先,在庫中選中影片剪輯,,點擊“右鍵”->“鏈接”后出現(xiàn)鏈接屬性對話框,,選中“鏈接”->“為ActionScript導(dǎo)出”,然后設(shè)置一個類名即可,,例如Gougou(注意,,類名首字母一般為大寫)。現(xiàn)在我們就用純代碼的形式把庫中的這個影片剪輯添加到舞臺上,。對此,,我們先聲明一個變量作為該對象的實例,然后用addChild把它添加到顯示列表,。代碼如下:
復(fù)制代碼
- var myGougou:Gougou=new Gougou();
- addChild(myGougou);
|
因為我們沒有設(shè)置這個影片剪輯的任何屬性,,所以它默認在舞臺上的(0,0)位置顯示。我們可以用這個實例的x,,y屬性來設(shè)置它的坐標,,用rotation屬性來設(shè)置這個對象的旋轉(zhuǎn)度數(shù):
復(fù)制代碼
- var myGougou:Gougou=new Gougou();
- myGougou.x=275;
- myGougou.y=150;
- myGougou.rotation=10;
- addChild(myGougou);
|
用上面的代碼把影片剪輯添加到舞臺上看起來比較繁瑣,但是用代碼可以很容易地生成多個此影片剪輯的副本,,并把他們添加到舞臺上,。下面我們讓Gougout影片剪輯生成10個副本,從左到右間隔50個像素水平排列,,并把這個對象縮放為50%,。代碼如下:
復(fù)制代碼
- for(var i=0;i<10;i++){
- var xGougou:Gougou=new Gougou();
- xGougou.x=50*i+50;
- xGougou.y=300;
- xGougou.z=150*i+50;
- xGougou.scaleX=.5;
- xGougou.scaleY=.5;
- addChild(xGougou);
- }
|
測試上面兩段代碼,你可以看到,,第一個對象Gougou在上面,,坐標是(275,100),下面的Gougous生成了10個副本,橫坐標從50到500依次展開,縱坐標是300,,縮放率為50%.
復(fù)制代碼
- for(var i=0;i<3;i++){for(var j=0;j<3;j++){for(var k=0;k<3;k++){
- var xGougou:Gougou=new Gougou();
- xGougou.x=50*i+50;
- xGougou.y=50*j+300;
- xGougou.z=150*k+50;
- xGougou.scaleX=.5;
- xGougou.scaleY=.5;
- addChild(xGougou);
- }
- }
- }
|