小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

引用 FLASH動作腳本基本知識 - 成靖的日志 - 網(wǎng)易博客

 成靖 2010-06-03

引用 FLASH動作腳本基本知識

FLASH上傳空間 2009-09-22 07:51:36 閱讀13 評論0 字號:

 

引用

平安如意FLASH動作腳本基本知識

FLASH動作腳本基本知識

第一講 動作腳本基本知識

一、 動作腳本概念動作腳本就是 Flash MX 為我們提供的各種命令,運算符以及對象,使用動作腳本時必須將其附加在按鈕、影片剪輯或者幀上,從而使單擊按鈕和按下鍵盤鍵之類的事件時觸發(fā)這些腳本。以便實現(xiàn)所需的交互性。

學(xué)習(xí)動作腳本的最佳方法是對其進(jìn)行實際操作,即使對動作腳本沒有完全理解,也不影響對其控制功能的使用,一樣能夠?qū)崿F(xiàn)簡單的交互性操作,經(jīng)過一段時間的實踐對基本的動作(如 play 和 stop)運用自如,對動作腳本略知一二后,就可以開始學(xué)習(xí)關(guān)于此語言的更多知識了。

二 、動作腳本面板當(dāng)我們?yōu)閹?按鈕或影片剪輯指定動作時必須使用動作面板,動作面板的結(jié)構(gòu)如示例1.1

三、基本動作控制命令

1 停止命令格式; stop();

說明動作;停止播放頭的移動

2 播放命令

格式;play();

說明動作;在時間軸中向前移動播放頭。

3 轉(zhuǎn)移命令gotoAndPlay(scene, frame)

參數(shù)scene 播放頭將轉(zhuǎn)到的場景的名稱。frame 播放頭將轉(zhuǎn)到的幀的編號或標(biāo)簽。

動作;將播放頭轉(zhuǎn)到場景中指定的幀并從該幀開始播放。如果未指定場景,則播放頭將轉(zhuǎn)到當(dāng)前場景中的指定幀。以上三個命令是動作腳本中最常用的基本動作,它們通過對時間軸上播放頭的控制實現(xiàn)的特定功能,在對播放頭實施控制時一般有多種方法可供選擇,但最常用的是在坐標(biāo)系內(nèi)部實施控制和在不同坐標(biāo)系之間實施控制,前者直接使用命令就可以實現(xiàn)目的(見示例1.2和示例1.3),后者則必須使用目標(biāo)路徑才能實現(xiàn)控制功能(見示例1.4和示例1.5)

四 按鈕

使用按鈕元件可以在影片中創(chuàng)建響應(yīng)鼠標(biāo)點擊、滑過或其它動作的交互式按鈕。可以定義與各種按鈕狀態(tài)關(guān)聯(lián)的圖形,然后指定按鈕實例的動作。請參閱為按鈕指定動作。在單擊或滑過按鈕時要讓影片執(zhí)行某個動作。您必須將動作指定給按鈕的一個實例;該元件的其它實例不受影響。

當(dāng)為按鈕指定動作時,必須將動作嵌套在 on 處理函數(shù)中,并指定觸發(fā)該動作的鼠標(biāo)或鍵盤事件。當(dāng)在標(biāo)準(zhǔn)模式下為按鈕指定動作時,會自動插入 on 處理函數(shù),然后您可從列表中選擇一個事件。您也可用動作腳本 Button 對象的事件在發(fā)生按鈕事件時執(zhí)行腳本。************************************************

注釋1:命令中的圓括號(1) 圓括號一般用來放置函數(shù)的參數(shù)以便傳遞這些參數(shù),我們所學(xué)習(xí)的各種命令,也都可以稱為函數(shù).

例如gotoandplay(2);

數(shù)字"2"只有放在圓括號內(nèi),才能進(jìn)行傳遞(2)表示運算符優(yōu)先級當(dāng)在同一語句中使用兩個或多個運算符時,一些運算符會優(yōu)先于其它的運算符。動作腳本按照一個精確的層次來確定首先執(zhí)行那個運算符。例如,乘法總是先于加法執(zhí)行;但是,括號中的項目會優(yōu)先于乘法。因此,如果沒有括號,動作腳本會在下面的示例中首先執(zhí)行乘法:

to = 2 + 4 * 3;

結(jié)果為 14。

但是當(dāng)加法運算在括號內(nèi)時,動作腳本會首先執(zhí)行加法:

total = (2 + 4) * 3;

結(jié)果為 18。

(3) 簡化語句例如使用括號評估點語法中點左側(cè)的表達(dá)式。例如,在下面的語句中,括號會使 new Color(this) 評估并創(chuàng)建一個新的 Color 對象:

onClipEvent(enterFrame) {

(new Color(this)).setRGB(0xffffff);

}

如果不使用括號,則需要添加一個語句來評估該表達(dá)式:

 

onClipEvent(enterFrame) {

myColor = new Color(this);

myColor.setRGB(0xffffff);

}

注釋2 分號" ; "

動作腳本語句是用分號結(jié)束的。例如,下面的語句是用分號結(jié)束的:

_root.getDay();

如果省略了結(jié)束分號,F(xiàn)lash 仍然能夠成功地編譯腳本。但是,使用分號是一個很好的腳本撰寫習(xí)慣。

******************************************************

小節(jié)本章重點:是學(xué)會如何使用基本命令和按鈕控制影片剪輯1命令可以寫在時間軸上2命令可以附加在按鈕上3按鈕有一些on事件關(guān)于動作面板和目標(biāo)路徑大家可以稍作了解,以后我們會在實例中經(jīng)常講

第二講 數(shù)據(jù)

一 數(shù)據(jù)

我們思考一下計算機程序所作的一些事情,財務(wù)管理程序能夠打印帳單,字處理程序能夠輸入和編輯文本,視頻處理程序能夠讓我們觀看影片和玩各種游戲,等等數(shù)不勝數(shù),但所有程序都有一個共同特點;他們都需要處理數(shù)據(jù).flash中根據(jù)數(shù)據(jù)的處理方法的不同,對數(shù)據(jù)進(jìn)行了分類,他們是;數(shù)值類型,字符串類型,布爾類型,對象類型,影片剪輯類型,未定義類型共六種.

計算機在處理這些數(shù)據(jù)的時候,必需使用某種方法存儲這些數(shù)據(jù),變量就是服務(wù)于該目的,所以我們常說"變量是保存信息的容器",下面我們先看看幾個最常用的數(shù)據(jù)

1 number (數(shù)值)類型

數(shù)值型數(shù)據(jù)指的是我們常用的數(shù)字??梢允褂盟阈g(shù)運算符加 (+)、減 (-)、乘 (*)、除 (/)、求模 (%)、遞增 (++) 和遞減 (--) 來處理。也可使用內(nèi)置的 Math 對象的方法處理數(shù)字.使用Number()可以指定數(shù)據(jù)為數(shù)值類型.Number();又叫數(shù)值轉(zhuǎn)換函數(shù).

Number(...);

圓括號中放入要轉(zhuǎn)換為數(shù)字的表達(dá)式

示例2.11

a=2;

b=10;

trace(a-b);

trace(math.abs(a-b));

c=Number(a)+Number(b);//指定a,b為數(shù)值型數(shù)據(jù),然后求和

2 string(字符串)類型

字符串是諸如字母、數(shù)字和標(biāo)點符號等字符的序列。將字符串放在雙引號之間,可以在動作腳本語句中輸入它們。字符串被當(dāng)做字符,而不是變量進(jìn)行處理。使用String()可以指定數(shù)據(jù)為字符串類型也可以將數(shù)值類型的數(shù)據(jù)轉(zhuǎn)換為字符串型數(shù)據(jù).String();又叫字符串轉(zhuǎn)換函數(shù).

String(...);

圓括號內(nèi)為要轉(zhuǎn)換為字符串的表達(dá)式。

如;  c=String(a)+String(b); //指定a,b為字符串型數(shù)據(jù).然后將a,b連接起來

例如,在下面的語句中,"L7" 是一個字符串:

a1 = "L7";

可以使用加法 (+) 運算符連接 或合并兩個字符串。

例如

a1="mc"+"2";

trace(a1);

雖然動作腳本在引用變量、實例名稱和幀標(biāo)簽時不區(qū)分大小寫,但是文本字符串是區(qū)分大小寫的。例如,下面的兩個語句會在指定的文本字段變量中放置不同的文本,這是因為 "Hello" 和 "HELLO" 是文本字符串。

invoice.display = "Hello";

invoice.display = "HELLO";

要在字符串中包含引號,可以在它前面放置一個反斜杠字符 (\)。要換行時加入一個(\n)就可以了,這稱為字符轉(zhuǎn)義。

示例2.12換行和插入" "號

on (release) {

dd = "中國老三屆是我flash入門的地方,\n我的第一個作業(yè)是\"運動的光碟\".";

trace(dd);

}

3 boolean(布爾)類型

布爾值是 true 或 false 。動作腳本也會在需要時將值 true 和 false 轉(zhuǎn)換為 1 和 0。布爾值在進(jìn)行比較以控制腳本流的動作腳本語句中經(jīng)常與邏輯運算符一起使用。例如,在下面mc中的腳本中,如果變量 a 為 true,變量b也為true則會播放影片mc:

onClipEvent(enterFrame) {

if (b == true && a== true){

play();

}}

實例制作--數(shù)據(jù)觀察

制作步驟

1 選擇文本工具在屬性欄選輸入文本,字號20,顏色黑,在場景中點擊構(gòu)造一個輸入文本框,同樣的方法再構(gòu)造一個文本框,并分別在屬性面板的變量欄把變量命名為a和b

2選擇文本工具在屬性欄選動態(tài)文本,字號,顏色同上,在場景中點擊構(gòu)造一個動態(tài)文本框,在屬性面板的變量欄把變量命名為為c,

3選擇文本工具在屬性欄選靜態(tài)文本,在場景中制作"+"和"=",放在兩個輸入文本之間,其后面放"="號,在"="后放動態(tài)文本框,

4在公用庫中拖出一個按鈕,把它一個放在動態(tài)文本后面

5在第二幀插入一個關(guān)鍵幀,

6點擊第一幀,又點擊放在動態(tài)文本后面的按鈕,打開動作面板輸入一下腳本

on (release) { //按下并釋放;

c=Number(a)+Number(b); //指定a,b為數(shù)值類型的數(shù)據(jù),執(zhí)行加運算后存入c中;

}

7點擊第二幀,又點擊放在動態(tài)文本后面的按鈕,打開動作面板輸入一下腳本

on (release) { //按下并釋放;

c = String(a)+String(b); //指定a,b為字符串類型的數(shù)據(jù),執(zhí)行加運算后存入c中;

}

8新建圖層2從庫中把按鈕拖出兩次,旁邊分別標(biāo)注數(shù)值型和文本型

點擊選中數(shù)值型按鈕寫

on (release) {

gotoAndStop(1);

}

點擊選中文本型按鈕寫

on (release) {

gotoAndStop(2);

}

至此實例完成.通過本實例我們學(xué)會

1用動態(tài)文本顯示數(shù)據(jù),用輸入文本輸入數(shù)據(jù)

2如何指定數(shù)據(jù)類型

3字符串?dāng)?shù)據(jù)加法運算是把數(shù)據(jù)進(jìn)行連接,數(shù)值類型是求和

4復(fù)習(xí)按鈕的goto命令

第三講 關(guān)鍵字和變量

一 標(biāo)識符

flash中標(biāo)識符是用于表示變量、屬性、對象、函數(shù)或方法的名稱。它的第一個字符必須是字母、下劃線 (_) 或美元記號 ($)。其后的字符必須是字母、數(shù)字、下劃線或美元記號。例如,firstName 是一個變量的名稱。

二 關(guān)鍵字

關(guān)鍵字是有特殊含義的保留字。例如,var 是用于聲明本地變量的關(guān)鍵字。不能使用關(guān)鍵字作為標(biāo)識符。例如,var 不是合法的變量名。

flash中定義了一些保留關(guān)鍵字,所謂保留關(guān)鍵字就是flash系統(tǒng)已經(jīng)嚴(yán)格定義了的一類標(biāo)識符,它們具有固定的含義,不允許再定義或另作它用.flash中的關(guān)鍵字一共有32個,下表列出了所有動作腳本關(guān)鍵字.

break

case

class

continue

default

delete

dynamic

else

extends

for

function

get

if

implements

import

in

instanceof

interface

intrinsic

new

private

public

return

set

static

switch

this

typeof

var

void

while

with

 

下面我們先學(xué)習(xí)兩個個關(guān)鍵字if和else

1 關(guān)鍵字 if和else

if是用來對條件進(jìn)行計算并判斷其真假的一個關(guān)鍵字,使用if構(gòu)成所謂的條件語句,它的應(yīng)用格式為;

if(...) {

mmm

}else{

nnn

}

 

說明

圓括號中放入條件,這個條件的計算結(jié)果為 true 時就執(zhí)行大括號中的命令mmm。當(dāng)這個條件計算結(jié)果為false時就執(zhí)行else后面大括號中的命令nnn,

 

例如

if(2+3>1){ //計算并判斷2+3的值是否大于1.如果大于1就輸出一個"true"值,

gotoandstop(1); //如果判斷結(jié)果為true, 就執(zhí)行g(shù)otoadstop(1),

}else{ //如果判斷結(jié)果為false,就執(zhí)行g(shù)otandstop(2)

gotoandstop(2);

}

 

程序運行時關(guān)鍵字if首先計算2+3的值,然后判斷2+3的值是否大于1,如果大于1則執(zhí)行花括號中的語句,如果不大于1,則不執(zhí)行else后面花括號中的語句.在實際應(yīng)用中else有時被省略,省略后的形式為

 

if(2+3>1){

gotoandstop(1);

}

 

三 常量

1在程序運行過程中,其值保持不變的量叫常量,常量的類型有number,string和boolean型,還有一種用標(biāo)識符表示的常量叫符號常量.

2 數(shù)值型常量

"中國" 字符串型常量

true 布爾型常量,代表"真"

false 布爾型常量,代表"假"

null 表示"空值"

newline 表示插入一個回車換行符號

undefined表示沒有被賦值的變量,沒賦值的變量可以認(rèn)為是常量 ,類似于null

四 變量

變量是保存信息的容器。變量可以存儲任何類型的數(shù)據(jù):數(shù)字、字符串、布爾值、對象和影片剪輯。要使用變量必需首先把變量附加在某個位置上(如時間軸,影片剪輯,函數(shù)體中...),給他起一個名字,即命名變量,然后還得使用特定符號對變量進(jìn)行聲明.變量根據(jù)其使用范圍可以分成全局變量和局部變量,若要測試變量的值,可以使用 trace() 動作,

1 命名變量

變量名稱必須遵守下面的規(guī)則:

它必須是標(biāo)識符。

它不能是關(guān)鍵字或動作腳本文本,例如 true、false、null 或 undefined。

它在其范圍內(nèi)必須是唯一的。

此外,不應(yīng)將動作腳本語言中的任何元素用作變量名稱;

2 聲明變量

(1) " = "聲明變量

格式 expression1 = expression2

參數(shù)

expression1 變量、數(shù)組元素或?qū)ο髮傩浴?/p>

expression2 任何類型的值。

在flash mx中運算符 " = " 執(zhí)行賦值操作,判斷兩個值是否相等使用運算符" == ",

示例

下面的示例使用賦值運算符將數(shù)字?jǐn)?shù)據(jù)類型賦予變量 x。

x = 5

下面的示例使用賦值運算符將字符串?dāng)?shù)據(jù)類型賦予變量 x。

x = "hello"

(2) var聲明本地變量

格式 var varriablenam [= m1] [...,varriablenam [=mi] ]

varriablenam 參數(shù)給出變量名

m1參數(shù)給這個聲明的變量賦值

示例

var nam1;//變量被聲明但沒有賦值

var nam2=600;

var nam3="abcd",nam4="efg";//同時聲明兩個字符串變量

var mc_a=true;

var m,n,i,j=800;//同時聲明四個變量,但只有變量j被賦值

var x;

var y = 1;

var z = 3, w = 4;

var s, t, u = z;

 

var nam=[1,2,3];

trace(nam[0]);

trace(nam[1]);

trace(nam[2]);

 

第四講 點語法和算術(shù)運算符

一 點語法

在動作腳本中,點 (.) 用于表明與對象或影片剪輯相關(guān)聯(lián)的屬性或方法。它還用于標(biāo)識影片剪輯、變量、函數(shù)或?qū)ο蟮哪繕?biāo)路徑。點語法表達(dá)式以對象或影片剪輯的名稱開始,后面跟著一個點,最后以要指定的元素結(jié)束。

示例1

_x 屬性表示影片剪輯在舞臺上的 x 軸位置。表達(dá)式 MC1._x 引用影片剪輯實例 MC1 的 _x 屬性。

示例2

aa 是 mc11 影片剪輯中設(shè)置的變量,此影片剪輯嵌在影片剪輯 mc1 之中。表達(dá)式 mc1.mc11.aa = true 將實例 mc11的 aa 變量設(shè)置為 true。

表達(dá)對象或影片剪輯的方法遵從同樣的模式。例如,MC 實例的 play 方法在 MC 的時間軸中移動播放頭,如同下面的語句:

MC.play();

注;flash中方法的概念;方法指的是帶有某種動作行為的函數(shù)或命令,其特征是在使用時后面加一個圓括號,如stop();

點語法還使用兩個特殊別名,_root 和 _parent。別名 _root 是指主時間軸。您可以使用 _root 別名創(chuàng)建一個絕對目標(biāo)路徑。例如,下面的語句調(diào)用主時間軸上影片剪輯 mc 中的函數(shù) bu:

_root.mc.bu();

您可以使用別名 _parent 引用當(dāng)前影片剪輯的父級。也可使用 _parent 創(chuàng)建相對目標(biāo)路徑。例如,如果影片剪輯 mc11 嵌入影片剪輯 mc1 的內(nèi)部,則寫在實例 mc11 的如下語句會指示 mc1 停止:

_parent.stop();

二 目標(biāo)路徑

 

三 算術(shù)運算符

算術(shù)運算符用來執(zhí)行(number)數(shù)值類型的數(shù)據(jù)或表達(dá)式的算術(shù)運算操作,

1 " + "運算

格式 expression1 + expression2

參數(shù) expression1、expression2 數(shù)字或字符串。

將數(shù)值表達(dá)式相加或者連接(合并)字符串。如果其中一個表達(dá)式為字符串,則所有其他表達(dá)式都被轉(zhuǎn)換為字符串,然后連接起來。兩個表達(dá)式都為整數(shù)時,和為整數(shù);其中一個或兩個表達(dá)式為浮點數(shù)時,和為浮點數(shù)。

示例

(1) trace (2 + 3);

(2) trace (2.5 + 3.25);

(3)

a = 1345;

b = "mc" ;

trace (a+b);

2 " - "運算符

減運算符用于用于符號反轉(zhuǎn)或減法運算。

否定格式 –expression(符號反轉(zhuǎn))

減法格式 expression1 - expression2

示例

(1) -(2 + 3);語句將表達(dá)式 2 + 3 的符號反轉(zhuǎn)。

結(jié)果為 -5。

(2) 5 - 2 ; //語句從整數(shù) 5 中減去整數(shù) 2

結(jié)果為 3,是一個整數(shù)。

(3) 3.25 - 1.5 //語句從浮點數(shù) 3.25 中減去浮點數(shù) 1.5。

結(jié)果為 1.75,是一個浮點數(shù)。

3 " * " 運算

將兩個數(shù)值表達(dá)式相乘。

格式 expression1 * expression2

示例

(1) 2 * 3 //結(jié)果為 6,是一個整數(shù)。

(2) 2.0 * 3.1416 //結(jié)果為 6.2832,是一個浮點數(shù)。

4 "/"運算符

格式 expression1 / expression2

說明 將 expression1 除以 expression2。

示例

trace(22.0 / 7.0); //結(jié)果為 3.1429,是一個浮點數(shù)。

5 "%"按模取余運算

格式 expression1 % expression2

計算 expression1 除以 expression2 的余數(shù)。如果兩個 expression 參數(shù)中有一個是非數(shù)字值,則模運算符嘗試將它們轉(zhuǎn)換為數(shù)字。expression 可以是數(shù)字或轉(zhuǎn)換為數(shù)值的字符串。

示例

下面是一個使用模 (%) 運算符的數(shù)字示例。

trace (12 % 5);// returns 2

trace (4.3 % 2.1);// returns approximately 0.1

需要注意的是,當(dāng)被除數(shù)取整數(shù),除數(shù)取2的時候其余非1即0,這種情況類似于布爾值,有時可用于邏輯控制,是一個很有用的特性.

6 ++自增量運算

格式 ++expression

expression++

說明

    運算符(算術(shù));將 expression 加 1 的預(yù)先遞增和滯后遞增一元運算符。expression 可以是變量、數(shù)組元素或?qū)ο髮傩?。此運算符的預(yù)先遞增格式 (++expression) 將 expression 加 1,然后返回結(jié)果。此運算符的滯后遞增格式 (expression++) 將 expression 加 1 并返回 expression 的初始值(即加上 1 之前的值)。

示例

(1)預(yù)先遞增

x = 1;

y = ++x;

(2)滯后遞增

x = 1;

y = x++;

(3)

x=1;

y=++x;

trace(x);

trace(y);

(4)

i=1;

j=i++;

trace(i);

trace( j);

5 " - - "運算

格式

- -expression

expression- -

    運算符(算術(shù));從 expression 中減 1 的預(yù)先遞減和滯后遞減一元運算符。此運算符的預(yù)先遞減格式 (--expression) 從 expression 中減去 1,然后返回結(jié)果。此運算符的滯后遞減格式 (expression--) 從 expression 中減去 1 然后返回 expression 的初始值(即減去 1 之前的值)。

示例

(1) 預(yù)先遞減格

x = 3;

y = - -x;

(2)滯后遞減格式

x = 3;

y = x- -

(3)i=2;

i=i-1;

trace(i);

(4)j=2;

j- -;

trace( j);

第五講-賦值運算符和mc的屬性

 

中國老三屆腳本基礎(chǔ)課教材2004.3.25

 

一 賦值運算符

 

 

1 " = "賦值運算

格式 expression1 = expression2

參數(shù)

expression1 變量、數(shù)組元素或?qū)ο髮傩浴?/p>

expression2 任何類型的值。

說明

運算符;將 expression2(位于右側(cè)的參數(shù))的類型賦予 expression1 中的變量、數(shù)組元素或?qū)傩浴?/p>

示例

下面的示例使用賦值運算符將數(shù)字?jǐn)?shù)據(jù)類型賦予變量 x。

x = 21;

下面的示例使用賦值運算符將字符串?dāng)?shù)據(jù)類型賦予變量 x。

x = "hello";

2 "+="運算

格式 ;expression1+=expression2

參數(shù);expression1、expression2 數(shù)字或字符串。

說明

運算符(算術(shù)組合賦值);將 expression1 + expression2 值賦予 expression1。例如,下面兩個語句的結(jié)果是相同的:

x += y;

x = x + y;

此運算符也可以執(zhí)行字符串連接運算。加法運算符 (+) 的所有規(guī)則適用于加法賦值 (+=) 運算符。

 

示例

(1)

x = 5;

y = 10;

x += y;

trace(x);

(2)

x = "My name is "

x += "Gilbert"

trace (x)//My name is Gilbert

3 "-="運算

格式;expression1、expression2 數(shù)字或計算結(jié)果為數(shù)字的表達(dá)式

說明

運算符(算術(shù)組合賦值);將 expression1 -expression2 的值賦予 expression1。例如,下面兩個語句是相同的:

x -= y;

x = x - y;

字符串表達(dá)式必須轉(zhuǎn)換為數(shù)字,否則返回 NaN。

示例

(1)

x = 5;

y = 10;

x -= y

trace(x);//-5

(2)

x = "5";

y = "10";

x -= y;

trace(x);//-5

(3)

x = "a5";

y = "10";

x -= y;

trace(x);//NaN

4 *=運算

格式;expression1 *=expression2

說明

運算符(算術(shù)組合賦值);將 expression1 *expression2 的值賦予 expression1。例如,下面兩個表達(dá)式是相同的:

x *= y

x = x * y

 

示例

(1)

x = 5;

y = 10;

trace (x *= y);//50

(2)

i = 5;

x = 4 - 6;

y = i + 2;

trace(x *= y);//-14

5 "/="運算

expression1/=expression2

參數(shù);expression1、expression2 數(shù)字或計算結(jié)果為數(shù)字的變量。

 

說明

運算符(算術(shù)組合賦值);將 expression1/expression2 的值賦予 expression1。例如,下面兩個語句是相同的:

x /= y

x = x / y

示例

x = 10;

y = 2;

x /= y;

6 "%="運算

格式;expression1%=expression2

說明

運算符(算術(shù)復(fù)合賦值);將 expression1% expression2 的值賦予 expression1。例如,下面兩個表達(dá)式是相同的:

x %= y

x = x % y

示例

x = 14;

y = 5;

trace(x %= y);//4

二 影片剪輯的屬性

每個影片剪輯在建立時都繼承影片剪輯類的所有屬性,我們可以在程序中調(diào)用和設(shè)置這些屬性,如果不設(shè)置這些屬性系統(tǒng)會默認(rèn)設(shè)置這些屬性.研究mc的屬性應(yīng)該首先熟悉設(shè)置屬性和調(diào)用屬性的兩個命令

1 setProperty(位于;動作--影片剪輯控制)

 

setProperty("target",property,value/expression)

 

參數(shù)

 

target 到要設(shè)置其屬性的影片剪輯實例名稱的路徑。

property 要設(shè)置的屬性。

value 屬性的新文本值。

expression 計算結(jié)果為屬性新值的公式。

說明

動作;當(dāng)影片播放時,更改影片剪輯的屬性值。

示例

當(dāng)單擊按鈕時,此語句將名為 star 的影片剪輯的 _alpha 屬性設(shè)置為 30%:

on(release) {

setProperty("star", _alpha, "30");

}

2 getProperty(位于;函數(shù))

getProperty(instancename , property)

參數(shù)

instancename 要獲取其屬性的影片剪輯的實例名稱。

property 影片剪輯的屬性。

說明

函數(shù);返回影片剪輯 instancename 的指定 property 的值。

示例

下面的示例獲取影片剪輯 mc1 的水平軸坐標(biāo) (_x),并將其分配給變量mymc1x:

 

mymc1x = getProperty(_root.myMovie, _x);

 

本講重點掌握

(1)賦值運算符" += "

(2)賦值運算符" -= "

 

(3)mc屬性設(shè)置命令setProperty

(4)mc屬性調(diào)用命令getProperty

第六講按鈕控制復(fù)習(xí)

第七講比較運算符與mc屬性

一 比較運算符

1 "<"小于比較(lt)

格式;expression1 < expression2

參數(shù);expression1、expression2 數(shù)字或字符串。

說明

運算符(比較);比較兩個表達(dá)式以確定 expression1 是否小于 expression2;如果是,則該運算符返回 true。如果 expression1 大于或等于 expression2,則該運算符返回 false。使用字母順序計算字符串表達(dá)式;所有的大寫字母排在小寫字母的前面。

示例

下面的示例舉例說明數(shù)數(shù)值比較和字符串比較所返回的 true 和 false。

3 < 10;// true

10 < 3;// false

"Allen" < "Jack";// true

"Jack" < "Allen";// false

 

"11" < "3";//true

"11" < 3;// false

"C" < "abc";// false

cc="A" < "a";

trace(cc);//true

1 "<"小于比較(lt)     2 "<="小于等于(le)            3 ">"大于比較(gt)   4 ">="大于等于(ge)

5 "=="相等(eg)       6 "!="不相等(<>)             7 "==="嚴(yán)格相等    8 "!==="不嚴(yán)格相等

二 影片剪輯屬性2

1 透明度 _alpha

格式

myMovieClip._alpha

說明

屬性;設(shè)置或獲取由 MovieClip 指定的影片剪輯的 Alpha 透明度 (value)。有效值為 0(完全透明)到 100(完全不透明)。如果影片剪輯的 _alpha 設(shè)置為 0,雖然其中的對象不可見,但也是活動的。例如,依然可以點擊一個 _alpha 屬性設(shè)置為 0 的影片剪輯中的按鈕。

 

示例

下面的語句在點擊按鈕時,將名為 star 的影片剪輯的 _alpha 屬性設(shè)置為 30%:

 

on(release) {

star._alpha = 30;

}

2 旋轉(zhuǎn)_rotation

格式

myMovieClip._rotation

說明

屬性;以度為單位指定影片剪輯的旋轉(zhuǎn)。

3 可見性_visible

格式

myMovieClip._visible

說明

屬性;一個布爾值,指示由 MovieClip 參數(shù)指定的影片是否可見。不可見的影片剪輯(_visible 屬性設(shè)置為 false)處于禁用狀態(tài)。例如,不能點擊 _visible 屬性設(shè)置為 false 的影片剪輯中的按鈕。

第8講 邏輯運算與mc屬性

一 邏輯運算

1 邏輯非"!"(not)

格式

!expression

說明

運算符(邏輯);對變量或表達(dá)式的布爾值取反。如果 expression 是絕對值或轉(zhuǎn)換值為 true

的變量,則 !expression 的值為 false。如果表達(dá)式 x && y 的計算結(jié)果為 false,則表達(dá)式

!(x && y) 的計算結(jié)果為 true。

下面的表達(dá)式說明使用 ! 運算符的結(jié)果:

!true 返回 false

!false 返回 true

2 邏輯與"&&"(snd)

格式

expression1 && expression2

說明

對一個或兩個表達(dá)式的值執(zhí)行布爾運算。計算 expression1(該運算符左側(cè)的表達(dá)式),當(dāng)

此表達(dá)式的計算結(jié)果為 false 時返回 false。如果 expression1 的計算結(jié)果為 true,則計算

expression2(該運算符右側(cè)的表達(dá)式)。如果 expression2 的計算結(jié)果為 true,則最終結(jié)果

為 true;否則,為 false。

3 邏輯或"||"(or)

格式

expression1 || expression2

參數(shù)

expression1、expression2 布爾值或轉(zhuǎn)換為布爾值的表達(dá)式。

說明

運算符(邏輯);計算 expression1 和 expression2。如果其中任何一個或者兩個表達(dá)式的計

 

算結(jié)果為 true,則結(jié)果為 true;只有當(dāng)兩個表達(dá)式的計算結(jié)果都為 false 時,結(jié)果才為

 

false。邏輯 OR 運算符可用于任意多個操作數(shù);只要任意一個操作數(shù)的計算結(jié)果為 true,則

結(jié)果為 true。

對于非布爾表達(dá)式,邏輯 OR 運算符使得 Flash 對左側(cè)的表達(dá)式進(jìn)行計算;如果左側(cè)的表達(dá)式

可以轉(zhuǎn)換為 true,則結(jié)果為 true。否則,計算右側(cè)的表達(dá)式,而且結(jié)果就是該表達(dá)式的值。

二 影片剪輯屬性3

1 影片剪輯寬度 _width

格式

myMovieClip._width

說明

以像素為單位設(shè)置和獲取影片剪輯的寬度。

2 影片剪輯高度 _height

格式

myMovieClip._height

說明

以像素為單位設(shè)置和獲取影片剪輯的高度。

3 _x縮放系數(shù) _xscale

格式

myMovieClip._xscale

4 _y縮放系數(shù)

格式

myMovieClip._yscale

說明

xscale和_yscale的值代表了相對于庫中原影片剪輯的橫向尺寸width和縱向尺寸height的百分

比,100為影片剪輯在編輯時的大小,大于100時起放大作用,在0-100之間時起縮小作用,小于0時發(fā)生翻轉(zhuǎn).

第9講 影片剪輯事件與拖動

一 OnclipEvet

前面我們主要練習(xí)了把命令寫在時間軸的關(guān)鍵幀上和按鈕上,其實我們還可以把命令寫在影片剪輯上,我們知道命令寫在按鈕上的時候,必需首先寫on事件例如;on(press){...}或者on(release){...}等等,用來表示鼠標(biāo)在按鈕上發(fā)生的動作,同樣的道理當(dāng)我們把命令寫在影片剪輯上的時候必需首先寫OnclipEvet.

事件處理函數(shù)OnclipEvet與on命令十分類似,不同的是on事件設(shè)置的是鼠標(biāo)或鍵盤事件,而OnclipEvet命令設(shè)置的是影片剪輯事件,它只能附加在影片剪輯上面,不能寫在幀或按鈕元件上.OnclipEvet的事件有九重,他們是

(1) load 當(dāng)movieclip被下載到當(dāng)前場景的時間軸上時觸發(fā)load事件.

(2) unload 事件在當(dāng)前場景的時間軸上,當(dāng)movieclip被卸載時觸發(fā)unload事件,在卸載后第一幀執(zhí)行OnclipEvet命令設(shè)定的操作

(3) enterFrame 以影片幀頻不斷地觸發(fā)此動作。

(4) mouseMove 每次移動鼠標(biāo)時啟動此動作。_xmouse 和 _ymouse 屬性用于確定當(dāng)前鼠標(biāo)位置。

(5) mouseDown 當(dāng)按下鼠標(biāo)左鍵時啟動此動作。

(6) mouseUp 當(dāng)釋放鼠標(biāo)左鍵時啟動此動作。

(7) keyDown 當(dāng)按下某個鍵時啟動此動作。使用 Key.getCode(); 方法獲取最近按下的鍵的有關(guān)信息。

(8) keyUp 當(dāng)釋放某個鍵時啟動此動作。使用 Key.getCode() 方法獲取最近按下的鍵的有關(guān)信息。

(9) data 當(dāng)在 loadVariables 或 loadMovie 動作中接收數(shù)據(jù)時啟動此動作。當(dāng)與 loadVariables 動作一起指定時,data 事件只發(fā)生一次,即加載最后一個變量時。當(dāng)與 loadMovie 動作一起指定時,獲取數(shù)據(jù)的每一部分時,data 事件都重復(fù)發(fā)生。

二拖動命令

1 startDrag

格式

startDrag(target,[lock ,left ,top ,right,bottom])

參數(shù)

target 要拖動的影片剪輯的目標(biāo)路徑。

lock 一個布爾值,指定可拖動影片剪輯是鎖定到鼠標(biāo)位置中央 (true),還是鎖定到用戶首次點擊該影片剪輯的位置上 (false)。此參數(shù)是可選的。

left、top、right、bottom 相對于影片剪輯父級坐標(biāo)的值,這些坐標(biāo)指定該影片剪輯的約束矩形。這些參數(shù)是可選的。返回?zé)o。

說明動作;使 target 影片剪輯在影片播放過程中可拖動。一次只能拖動一個影片剪輯。執(zhí)行 startDrag 動作后,影片剪輯將保持可拖動狀態(tài),直到被 stopDrag 動作明確停止為止,或者直到為其他影片剪輯調(diào)用了 startDrag 動作為止。

示例1

若要拖動放在任何位置的影片剪輯,可將 startDrag 和 stopDrag 動作附加到該影片剪輯內(nèi)的某個按鈕上。

on(press) {

startDrag(this,true);

}

on(release) {

stopDrag();

}

第10講 鼠標(biāo)

一 捕獲鼠標(biāo)的坐標(biāo)

我們可以用兩種方法捕獲鼠標(biāo)的坐標(biāo),其一是用影片剪輯的_xmouse和_ymouse屬性,是最常用的方法,其二是對影片剪輯設(shè)置跟隨,獲取該影片剪輯的坐標(biāo)用來替代鼠標(biāo)的坐標(biāo).獲取鼠標(biāo)坐標(biāo)的腳本可以寫在時間軸上也可以寫在影片剪輯上,下面我們使用影片剪輯的enterFrame()和mouseMove事件來做實驗

1 影片剪輯的mouseMove事件

onClipEvent (mouseMove) {

_root.my_xmouse = _xmouse;

_root.my_ymouse = _ymouse;

}

2 影片剪輯的enterFrame事件

onClipEvent (enterFrame) {

_root.a=_root._xmouse;

_root.b=_root._ymouse;

}

3 設(shè)置跟隨測試mc坐標(biāo)替代鼠標(biāo)坐標(biāo)

onClipEvent (enterFrame) {

startDrag(_root.mc, true);

_root.a=getProperty(_root.mc,_x);

_root.b=getProperty(_root.mc,_y);

}

二 鼠標(biāo)隱藏與替換

1 隱藏命令hide與顯示命令 show

格式

Mouse.hide()

說明

方法;隱藏影片中的光標(biāo)。默認(rèn)情況下,光標(biāo)可見。使用Mouse.show()可以把隱藏的鼠標(biāo)顯示出來.

示例

下列附加到主時間軸上的影片剪輯上的代碼會隱藏標(biāo)準(zhǔn)光標(biāo),并將 mc 影片剪輯實例的 x 和 y 位置設(shè)置為主時間軸中的 x 和 y 鼠標(biāo)位置。這種方法可以省去設(shè)置鼠標(biāo)拖動命令的替換

onClipEvent(enterFrame){

Mouse.hide();

_root.mc._x = _root._xmouse;

_root.mc._y = _root._ymouse;

}

第十一講復(fù)制與mc的顏色設(shè)置

一 復(fù)制duplicateMovieClip

1 duplicateMovieClip

格式

duplicateMovieClip(target, newname,depth)

參數(shù) target 要復(fù)制的影片剪輯的目標(biāo)路徑。

newname 復(fù)制的影片剪輯的唯一標(biāo)識符。

depth 復(fù)制的影片剪輯的唯一深度級別。深度級別是復(fù)制的影片剪輯的堆疊順序。這種堆疊順序很像時間軸中圖層的堆疊順序;較低深度級別的影片剪輯隱藏在較高堆疊順序的剪輯之下。必須為每個復(fù)制的影片剪輯分配一個唯一的深度級別,以防止它替換現(xiàn)有深度上的影片。

說明

動作;當(dāng)影片正在播放時,創(chuàng)建一個影片剪輯的實例。無論播放頭在原始影片剪輯(或“父級”)中處于什么位置,復(fù)制的影片剪輯的播放頭始終從第一幀開始。父影片剪輯中的變量不拷貝到復(fù)制的影片剪輯中。如果刪除父影片剪輯,則復(fù)制的影片剪輯也被刪除。使用 removeMovieClip 動作或方法可以刪除由 duplicateMovieClip 創(chuàng)建的影片剪輯實例。

示例1;當(dāng)用按鈕設(shè)置變量kk為1時,復(fù)制15次mc, 源文件見"命令寫在幀上復(fù)制"

i++;

if(_root.kk==1){

duplicateMovieClip(_root.mc,"mc"+i,i);

mx=getProperty("mc"+i,_x);

my=getProperty("mc"+i,_y);

setProperty("mc"+i,_x,mx+i*35);

setProperty("mc"+i,_y,my);

set("mc"+i+".a",i);

}

if(i>=15){

i=0;

}

示例2 源文件見"命令寫在按鈕上復(fù)制"

按鈕1

on (release) {

i++;

if(i>10){

i=0;

}

k = 0;

duplicateMovieClip(mc, "mc"+i, i);

mx = getProperty("mc"+i, _x);

my = getProperty("mc"+i, _y);

setProperty("mc"+i, _x, mx+i*50);

setProperty("mc"+i, _y, my);

set("mc"+i+".a", i);

}

按鈕2

on (release) {

k++;

if(k>10){

k=0;

}

i = 0;

duplicateMovieClip(mc, "mc"+k, k);

mx = getProperty("mc"+k, _x);

my = getProperty("mc"+k, _y);

setProperty("mc"+k, _x, mx+k*50);

setProperty("mc"+k, _y, my+k*50);

set("mc"+k+".a", k);

}

 

 

按鈕3

 

on (release) {

j++;

removeMovieClip("mc"+j);

if(j>10){

j=0;

}

}

二 color對象

 

使用color(顏色)對象可以自由設(shè)置影片剪輯的顏色屬性,在flash中顏色的值使用紅綠蘭三原色的值組合起來表示,格式為0xrrggbb其中rrggbb表示紅綠蘭,分別用十六進(jìn)制數(shù)表示,取值范圍為0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f.

例如

黑色0x000000

白色0xffffff

紅色0xff0000

綠色0x00ff00

藍(lán)色0x0000ff

黃色0xffff00

1 構(gòu)造color對象

格式

new Color(target)

參數(shù) target 影片剪輯的實例名稱。

說明

構(gòu)造函數(shù);為由 target 參數(shù)指定的影片剪輯創(chuàng)建 Color 對象的實例。然后可使用該 Color 對象的方法來更改整個目標(biāo)影片剪輯的顏色。

2用setRGB設(shè)置顏色對象

myColor.setRGB(0xRRGGBB)

參數(shù)  0xRRGGBB 要設(shè)置的十六進(jìn)制或 RGB 顏色。對于 RR、GG 和 BB,每種代碼由兩個十六進(jìn)制數(shù)字組成,這些數(shù)字指定每種顏色成分的偏移量。0x 告知動作腳本編譯器該數(shù)字是十六進(jìn)制數(shù)值。

說明

方法;指定 Color 對象實例的 RGB 顏色。

示例1

下面的示例為影片剪輯 mc 創(chuàng)建一個名為 myColor 的 Color 對象實例,并設(shè)置其 RGB 值:

myColor = new Color(mc);

myColor.setRGB(0xff9933);

示例2 源文件見"2顏色設(shè)置"

幀1

foo = 0;

幀2

foo++;

_root.mc.play();

duplicateMovieClip("_root.flower", "mc" + foo, foo);

setProperty("mc" + foo, _x, random(350));

setProperty("mc" + foo, _y, random(300));

setProperty("mc" + foo, _alpha, random(275));

setProperty("mc" + foo, _xscale, random(200));

setProperty("mc" + foo, _yscale, random(200));

col = random(0xafafaf+0x999999);

mycolor = new Color("mc"+foo);

mycolor.setRGB(col);

 

幀3

if(foo<100){

gotoAndPlay(2);

} else {

gotoAndPlay(1);

 

}

3 用setTransform進(jìn)行顏色設(shè)置

格式

myColor.setTransform(colorTransformObject);

參數(shù)

colorTransformObject 使用 new Object 構(gòu)造函數(shù)創(chuàng)建的對象。此 Object 對象實例必須具有下列指定顏色轉(zhuǎn)換值的屬性:ra、rb、ga、gb、ba、bb、aa、ab。這些屬性在下面進(jìn)行了解釋。

說明

方法;設(shè)置 Color 對象實例的顏色轉(zhuǎn)換信息。colorTransformObject 參數(shù)是通過 new Object 構(gòu)造函數(shù)創(chuàng)建的通用對象。它具有指定顏色的紅、綠、藍(lán)和 alpha(透明度)成分百分比和偏移量數(shù)值的參數(shù),下面是設(shè)置舉例

顏色轉(zhuǎn)換對象的參數(shù)與“高級效果”對話框中的設(shè)置相對應(yīng),定義如下:

- ra 是紅色成分的百分比(-100 到 100)。

- rb 是紅色成分的偏移量(-255 到 255)。

- ga 是綠色成分的百分比(-100 到 100)。

- gb 是綠色成分的偏移量(-255 到 255)。

- ba 是藍(lán)色成分的百分比(-100 到 100)。

- bb 是藍(lán)色成分的偏移量(-255 到 255)。

- aa 是 alpha 的百分比(-100 到 100)。

- ab 是 alpha 的偏移量(-255 到 255)。

可以按如下形式創(chuàng)建 colorTransformObject 參數(shù):

myColorTransform = new Object();

myColorTransform.ra = 50;

myColorTransform.rb = 244;

myColorTransform.ga = 40;

myColorTransform.gb = 112;

myColorTransform.ba = 12;

myColorTransform.bb = 90;

myColorTransform.aa = 40;

myColorTransform.ab = 70;

也可使用以下語法來創(chuàng)建 colorTransformObject 參數(shù):

myColorTransform = { ra: ‘50’, rb: ‘244’, ga: ‘40’, gb: ‘112’, ba: ‘12’, bb: ‘90’, aa: ‘40’, ab: ‘70’}

示例 源文件見"3顏色設(shè)置"

i=i+5;

duplicateMovieClip(mc,"mc"+i,i);

fmc=getProperty("mc"+i,_rotation)

setProperty("mc"+i,_rotation,fmc+i);

mycolor=new Color(mc);

myobj=new Object();

myobj.ra=random(100);

myobj.rb=random(255);

myobj.ga=random(100);

myobj.gb=random(255);

myobj.ba=random(100);

myobj.bb=random(255);

myobj.aa=random(100)-random(50);

myobj.ab=random(255)-random(80);

mycolor.setTransform(myobj);

第12講 影片剪輯深度

一 影片剪輯深度

每個影片剪輯都具有自身的 z 順序空間,z 順序空間確定各對象在其父級 SWF 文件或影片剪輯中的重疊方式。每個影片剪輯都有一個關(guān)聯(lián)的深度值,該值用來確定它是顯示在同一個影片剪輯時間軸中其它影片剪輯的前面還是后面。當(dāng)使用 MovieClip.attachMovie()、

MovieClip.duplicateMovieClip() 或 MovieClip.createEmptyMovieClip() 創(chuàng)建影片剪輯時,總是要以方法參數(shù)的形式為新剪輯指定一個深度。影片剪輯的深度值的范圍是從 -16384 到 1048575。

格式

MovieClip.swapDepths()

用法

my_mc.swapDepths(depth)

my_mc.swapDepths(target)

參數(shù)

depth 一個數(shù)字,指定 my_mc 將被放置的深度級別。

target 一個字符串,指定其深度將被 my_mc 指定的實例交換的影片剪輯實例。兩個實例必須具有相同的父級影片剪輯。

說明

方法;用由 target 參數(shù)指定的影片剪輯或者當(dāng)前占據(jù)著 depth 參數(shù)中指定的深度級別的影片剪輯交換指定實例 (my_mc) 的堆疊,即 z 順序(深度級別)。兩個影片剪輯必須具有相同的父級影片剪輯。交換影片剪輯的深度級別的作用是將一個影片剪輯移到另一個影片剪輯的前面或后面。如果調(diào)用該方法時影片剪輯正在補間,則補間會停止。

示例1,以下代碼將復(fù)制出一系列新影片剪輯,每個影片剪輯的深度都不相同

duplicateMovieClip(mc, "mc"+i, i);

示例2 以下代碼將兩個新影片剪輯附加到 my_mc。第一個剪輯(名為 mc_1)將顯示在 mc_2 的后面,這是因為向第一個剪輯分配了一個較小的深度值。

container_mc.attachMovie("symbolID", "clip_1", 10);

container_mc.attachMovie("symbolID", "clip_2", 15);

示例3 當(dāng)按鈕點擊后mc的深度將會被從新設(shè)置

on (release) {

_root.mc1.swapDepths(30);

_root.mc2.swapDepths(20);

_root.mc3.swapDepths(10);

}

第13講 循環(huán)結(jié)構(gòu)控制

一 while與do_while循環(huán)

while與do_while結(jié)構(gòu)都可以按照一定的條件循環(huán)執(zhí)行循環(huán)體,wihle結(jié)構(gòu)先判定循環(huán)條件,當(dāng)條件符合時就執(zhí)行循環(huán)體,按順序執(zhí)行完循環(huán)體中的語句后,在返回wihle語句開始處,重新判定條件,并以此規(guī)則進(jìn)行循環(huán)操作,直到循環(huán)條件為false時終止循環(huán),轉(zhuǎn)而執(zhí)行wihle結(jié)構(gòu)下面的命令,與wihle結(jié)構(gòu)不同的是do_while循環(huán)結(jié)構(gòu)先執(zhí)行循環(huán)體中的語句,然后判定循環(huán)條件.這就是說do_while循環(huán)結(jié)構(gòu)無論條件是否符合,循環(huán)至少執(zhí)行一次.

1 while

格式

while(condition) {

statement(s);

}

參數(shù)

condition 每次執(zhí)行 while 動作時都要重新計算的表達(dá)式。如果該語句的計算結(jié)果為 true,則運行 statement(s)。

statement(s) 條件的計算結(jié)果為 true 時要執(zhí)行的代碼。又叫循環(huán)體

說明

動作;測試表達(dá)式,只要該表達(dá)式為 true,就重復(fù)運行循環(huán)中的語句或語句序列。

在運行語句塊之前,首先測試 condition;如果該測試返回 true,則運行該語句塊。如果該條件為 false,則跳過該語句塊,并執(zhí)行 while 動作語句塊之后的第一條語句。

通常當(dāng)計數(shù)器變量小于某指定值時,使用循環(huán)執(zhí)行動作。在每個循環(huán)的結(jié)尾遞增計數(shù)器的值,直到達(dá)到指定值為止。此時,condition 不再為 true,且循環(huán)結(jié)束。

while 語句執(zhí)行的步驟。

1 計算表達(dá)式 condition。2 如果 condition 的計算結(jié)果為 true,或者一個可轉(zhuǎn)換為布爾值 true 的值(比如一個非零數(shù)字),則轉(zhuǎn)到步驟 3。否則,while 語句結(jié)束,并從 while 循環(huán)之后的下一語句恢復(fù)執(zhí)行過程。3 運行語句塊 statement(s)。4 轉(zhuǎn)到步驟 1。

步驟 1 至 4 的每次重復(fù)叫做循環(huán)的“迭代”。在每次迭代的開始重新測試 condition.

示例1

此示例在舞臺上復(fù)制五個影片剪輯,每個影片剪輯具有隨機生成的 、 位置;xscale、yscale 以及 _alpha 屬性以達(dá)到分散的效果。.變量 foo 初始化為值 0。設(shè)置 condition 參數(shù)使 while 循環(huán)運行五次,即只要變量 foo 的值小于 5 就運行。在 while 循環(huán)中,復(fù)制影片剪輯,并使用 setProperty 調(diào)整所復(fù)制影片剪輯的各種屬性。循環(huán)的最后一條語句遞增 foo,以便當(dāng)該值達(dá)到 5 時,condition 參數(shù)計算結(jié)果為 false,從而不再執(zhí)行該循環(huán)。

on(release) {

foo = 0;

while(foo < 5) {

duplicateMovieClip("_root.flower", "mc" + foo, foo);

setProperty("mc" + foo, _x, random(275));

setProperty("mc" + foo, _y, random(275));

setProperty("mc" + foo, _alpha, random(275));

setProperty("mc" + foo, _xscale, random(200));

setProperty("mc" + foo, _yscale, random(200));

foo++;

}}

2 do_while

do {statement(s)

} while (condition)

參數(shù)

condition 要計算的條件。

statement(s) 只要 condition 參數(shù)計算結(jié)果為 true 就會執(zhí)行的語句。

動作;執(zhí)行語句,然后只要條件為 true,就計算循環(huán)中的條件。

二 for

格式

for(init; condition; next) {

statement(s);

}

 

參數(shù)

init 一個在開始循環(huán)序列前要計算的表達(dá)式,通常為賦值表達(dá)式。此參數(shù)還允許使用 var 語句。

condition 計算結(jié)果為 true 或 false 的表達(dá)式。在每次循環(huán)迭代前計算該條件;當(dāng)條件的計算結(jié)果為 false 時退出循環(huán)。

next 一個在每次循環(huán)迭代后要計算的表達(dá)式;通常為使用 ++(遞增)或 --(遞減)運算符的賦值表達(dá)式。

statement(s) 在循環(huán)體內(nèi)要執(zhí)行的指令。

說明

動作;一種循環(huán)結(jié)構(gòu),首先計算 init(初始化)表達(dá)式一次,只要 condition 的計算結(jié)果為 true,則按照以下順序開始循環(huán)序列,執(zhí)行 statement,然后計算 next 表達(dá)式。

示例1

下面是使用 for 重復(fù)執(zhí)行同一動作的示例。下面的代碼中,for 循環(huán)將從 1 到 100 的數(shù)字相加:

var sum = 0;

for (var i=1; i<=100; i++) {

sum = sum + i;

trace(sum);//

}

結(jié)果

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多