Latest News

Home » Action Script語法 » 在Flash動畫製作中(Flash Action Script)語法

在Flash動畫製作中(Flash Action Script)語法

在Flash動畫製作中,常會聽到(Flash Action Script)一詞
以下是:Flash Action Script 的相關說明:

ActionScript是 Macromedia(現已被Adobe收購)為其Flash產品開發的
最初是一種簡單的腳本語系,現在最新版本3.0
是一種完全的面向對象的寫程式語系,功能強大,類庫豐富,語法類似JavaScript
多用於Flash互動性、娛樂性、實用性開發,網頁製作和RIA應用程式開發。

Flash Action Script定義:
運用在flash上的腳本語系。
ActionScript開發工具

ActionScript開發工具:
Flash Action Script使用:
ActionScript 動作腳本是遵循ECMAscript第四版 的Adobe Flash Player運行時環境的寫程式語系。它在 Flash 內容和應用程式中實現互動性、資料處理、以及其他功能。
* ActionScript 是由 Flash Player 地方gtr和中的 ActionScript虛擬機(AVM)來執行。
* ActionScript代碼通常被編譯成「位元組碼格式」。
* ActionScript 的主要 IDE 是Adobe公司的 Flash Builder,最新版本 4.7。
* ActionScript CS3(2007)後為更新為ActionScript 3,語系的系統結構完全改變,支援即時編譯,語系功能增強速度。

Flash Action Script發展:
從macromedia大刀闊斧對As1.0進行改革到AS2.0,這一段過程看上去還算長一些,從flashmx到flash mx2004到flash 7.2再到flash8. 它們的核心actionscript都是as2.0.在flash8剛剛發佈不長時間,macromedia又緊羅密鼓的推出了flash9預覽版,大家都已經知道了Adobe發佈的預覽版可以對AS3.0進行編譯,而As3.0經由測試它的速度可以說要比之前的as2.0快10倍.拿著as3.0與As2.0相對照,雖然有些東西看著面熟,但它看上去就像是重寫的一種新語系一樣.還有隨之推出的adobe的Flex 2.0 builder. Flex sdk.讓許多人一時不知所措
·Flash Player2:第一個支援腳本的版本,內含控制時間軸的gotoAndPlay, gotoAndStop, nextFrame和nextScene等動作。
· Flash Player 3:增強了載入外部SWF檔案的基本腳本支援(loadMovie)。
· Flash Player 4:第一個完全實現腳本功能(稱為動作)的播放器。這些腳本擁有簡練的語法和對迴圈,條件,變量和其它基本語系結構的支援。
· Flash Player 5:第一個擁有真正意義上的ActionScript的版本。依據ECMAScript並採用基於原型寫程式,並容許完全的 過程式寫程式和面向物件寫程式。
· Flash Player 6:增加了事件處理模型,並且支援switch。
· Flash Player 7:Flash Player 7 提供一些新特性如支援CSS顯示文字和增強顯示效果。 Macromedia Flash編譯器和Flash Player 7同時支援基於ECMAScript 4 Netscape Proposal的類寫程式語系ActionScript 2.0。不過ActionScript 2.0能交叉編譯成ActionScript 1.0的位元組碼,因此它能運行於Flash Player 6。
· Flash Player 8:增加用於運行時影像資料控制和檔案上傳的新類庫及APIs,ActionScript 2.0功能更為完善。
· Flash Player 8.5(計劃於2006春發佈release版本,currently in public beta):增加ActionScript 3.0和一個稱為AVM2(ActionScript Virtual Machine 2)新的虛擬機,它可以與前版本AVM1共存以便支援舊內容。增強效能是該版本的主要目的。
· Flash Player 9 2007發表,這是adobe收購Macromedia後的第一個版本,並且也是Mac OS X上第一個Universal版本的Flash Player。
· Flash Player 10

Flash Action Script基本記法:
ActionScript 2.0
下面列印Hello World。值得注意的是這只能在整合環境下執行,因為trace函式只有支援整合環境。
trace("Hello world!");
下面代碼利用onMouseMove事件當滑鼠搬移時輸出現行滑鼠位置。同樣的這只有在整合環境下執行。
onMouseMove = function () {
trace("X: "+_root._xmouse);
trace("Y: "+_root._ymouse);
};
這個較先進的範例創造一個內含數字與字串的陣列,並利用原形函式(prototype function)與函式遞歸給變量名num指定一個數,給變量str指定一個字串。然後,利用MovieClip應用程式介面,文字區功能變數被顯示在螢幕上,文字區功能變數裡頭寫入了變量值。
var my_Array:Array = new Array("Hello", "ActionScript", 3, 7, 11, "Flash");
Array.prototype.pickNumber = function():Number {
var rand:Number = random(this.length);
return (typeof (this[rand]) == "number") ? this[rand] : this.pickNumber();
};
Array.prototype.pickString = function():String {
var rand:Number = random(this.length);
return (typeof (this[rand]) == "string") ? this[rand] : this.pickString();
};
var num:Number = my_Array.pickNumber();
var str:String = my_Array.pickString();
_root.createTextField("txt", 1, 10, 10, 530, 390);
txt.text = "Array = "+my_Array+" Random Number = "+num+" Random String = "+str;

ActionScript 3.0
下面先進的Hello World程式需要在Flex 2.0公開Alpha測試版整合環境中編譯。
package {
import flash.text.TextField;
import flash.display.MovieClip;
import flash.filters.DropShadowFilter;
public class HelloWorld extends MovieClip {
public function HelloWorld() {
var shad:DropShadowFilter = new DropShadowFilter(2, 45, 0x000000, 25, 3, 3, 2, 2);
var txt:TextField = new TextField();
txt.textColor = 0xFFFFFF;
txt.filters = [shad];
txt.width = 120;
txt.x = Math.random()*300;
txt.y = Math.random()*300;
txt.selectable = false;
txt.text = "Hello World! ["+Math.round(txt.x)+","+Math.round(txt.y)+"]";
addChild(txt);
}
}
}
//—–ActionScript3.0—————– //as3.0最重要的概念就是在效能方面的增進,平時所加入的任何事件都可以被監聽或從記憶體中移除 //以下例子就是監聽與移除記憶體佔用,這是as3.0最重要的基礎概念
bt1.addEventListener(MouseEvent.CLICK,bt1_click);
function bt1_click(e:MouseEvent):void{ //觸發的事件內容; }
//該按紐監聽不需要時則remove掉,增加效能 bt1.removeEventListener(MouseEvent.CLICK,bt1_click);

——————————————————————————–
【文章標題】: Flash動畫製作(Flash Action Script)
【文章作者】: Flash 動畫製作教學密訓基地
【作者信箱】: ster168ster@gmail.com
【作者首頁】: http://por.tw/flash/
【Flash 動畫製作教學課程】: http://por.tw/flash/new-E_learning/index.php
【基地主機】: http://goto1688.com/flash/
【版權聲明】: (原創)Flash 動畫製作教學密訓基地,轉載必須保留完整標頭。刪除者依法追究!
——————————————————————————–
Flash Action Script關聯術語:
1.Actions (動作):就是程式語句,它是actionscript腳本語系的靈魂和核心.
2.Events (事件):簡單的說,要執行某一個動作,必須提供一定的條件,如需要某一個事件對該動作進行的一種觸發,那麼這個觸發功能的部分就是actionscript中的事件.
3.Class (類):是一系列相互之間有聯繫的資料的集合,用來定義新的對象類型.
4.Constructor (構造器):用於定義類的屬性和方法的函數.
5.Expressions (表達式):語句中能夠產生一個值的任一部分.
6.Function.(函數):指可以被傳誦參數並能返回值的以及可重複使用的代碼塊.
7.Identifiers (標示符):用於識別某個變量,屬性,對象,函數或方法的名稱.
8.Instances (案例):案例是屬於某個類的對象,一個類的每一個案例都包括類的所有屬性和方法.
9.Variable (變量):變量是儲存任意資料類型的值的標示符.
10. Instancenames (案例名):是在腳本中指向影片剪輯案例的唯一名字.
11.Methods (方法):是指被指派給某一個對象的函數,一個函數被配置後,它可以作為這個對象的方法被呼叫.
12.Objects (物件):就是屬性的集合.每個對象都有自己的名字和值,通過對象可以自由訪問某一個類型的資訊.
13.Property (特性):物件具有的獨特屬性.
Flash使用ActionScript給動畫加入互動性。在簡單動畫中,Flash按順序播放動畫中的場景和幀,而在互動動畫中,使用者可以使用鍵盤或滑鼠與動畫互動。例如,可以點選動畫中的按鈕,然後跳轉到動畫的不同部分繼續播放;可以搬移動畫中的對象;可以在表單中輸入資訊等等。使用ActionScript可以控制Flash動畫中的對象,建立導航元素和互動元素,延伸Flash創作互動動畫和網路應用的能力。

——————————————————————————–
【Flash 動畫製作】你在摸索如何製作 Flash 動畫及發佈到網站嗎?有【技術顧問服務】可諮詢嗎?
當問題無法解決你要發很多時間處理(或許永遠找出答案)那就是自己摸索 Flash 動畫製作痛苦的開始!
購買【Flash動畫製作教學】DVD課程,就可獲得【Flash 動畫製作】技術【顧問諮詢服務】!

About

發佈留言