《Flash的腳本教案》課件_第1頁(yè)
《Flash的腳本教案》課件_第2頁(yè)
《Flash的腳本教案》課件_第3頁(yè)
《Flash的腳本教案》課件_第4頁(yè)
《Flash的腳本教案》課件_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

?Flash的腳本(jiǎoběn)教案?課件第一頁(yè),共73頁(yè)。第一節(jié)揭開(kāi)ActionScript的神秘(shénmì)面紗ActionScript是Flash內(nèi)置的編程語(yǔ)言,用它為動(dòng)畫(huà)編程,可以實(shí)現(xiàn)(shíxiàn)各種動(dòng)畫(huà)特效、對(duì)影片的良好控制、強(qiáng)大的人機(jī)交互以及與網(wǎng)絡(luò)效勞器的交互功能。

ActionScript是一門(mén)吸收了C++、Java以及JavaScript等編程語(yǔ)言局部特點(diǎn)的新的語(yǔ)言。ActionScrip使用英文單詞和元件提供了一種為Flash影片設(shè)置指令的方法。它的存在確保了Flash影片較之普通的按照線性模式播放的動(dòng)畫(huà)具備強(qiáng)大得多的人機(jī)交互能力。

可以為時(shí)間軸中的關(guān)鍵幀、按鈕和影片剪輯添加ActionScript。選中這些關(guān)鍵幀、按鈕和影片剪輯,翻開(kāi)其動(dòng)作面板,你就可以看到它們都添加了哪些腳本。第二頁(yè),共73頁(yè)。Actionscript的根本語(yǔ)法規(guī)(fǎguī)那么使用Actionscript編寫(xiě)腳本時(shí),如果使用正常模式的動(dòng)作面板,通過(guò)菜單和列表選擇選項(xiàng),可以創(chuàng)立(chuànglì)簡(jiǎn)單的動(dòng)作。要想用Actionscript編寫(xiě)功能強(qiáng)大的腳本,你就必須深入了解和學(xué)習(xí)FlashMX的Actionscript腳本語(yǔ)言。

像其它腳本語(yǔ)言一樣,Actionscript也有變量、函數(shù)、對(duì)象、操作符、保存關(guān)鍵字等語(yǔ)言元素,有它自己的語(yǔ)法規(guī)那么。Actionscript允許用戶創(chuàng)立(chuànglì)自己的對(duì)象和函數(shù)。Actionscript的語(yǔ)法和風(fēng)格與javascript非常相似,但不完全相同。Actionscript擁有自己的句法和標(biāo)點(diǎn)符號(hào)使用規(guī)那么,這些規(guī)那么規(guī)定了一些字符和關(guān)鍵字的含義,以及它們的書(shū)寫(xiě)順序。例如,在英語(yǔ)中用句號(hào)結(jié)束一個(gè)句子,而在Actionscript中那么用分號(hào)結(jié)束一個(gè)語(yǔ)句。

下面列出的是Actionscript的一些根本語(yǔ)法規(guī)那么,對(duì)于比較比較特別的規(guī)那么,請(qǐng)參閱Actionscript詞典。

第三頁(yè),共73頁(yè)。一、Flash腳本語(yǔ)法1.點(diǎn)語(yǔ)法

在Actionscript中,點(diǎn)(.)被用來(lái)指明與某個(gè)對(duì)象或電影剪輯相關(guān)的屬性和方法(fāngfǎ)。它也用標(biāo)識(shí)指向電影剪輯或變量的目標(biāo)路徑。點(diǎn)語(yǔ)法表達(dá)式由對(duì)象或電影剪輯名開(kāi)始,接著是一個(gè)點(diǎn),最后是要指定的屬性、方法(fāngfǎ)或變量。第四頁(yè),共73頁(yè)。點(diǎn)語(yǔ)法表示方法:對(duì)象名.屬性〔方法、變量〕點(diǎn)語(yǔ)法使用兩個(gè)特殊的別名:_root和_parent、this。別名_root是指主時(shí)間軸。可以使用_root別名創(chuàng)立一個(gè)絕對(duì)路徑。例如:_root.rose.stop();可以用別名_parent引用嵌套當(dāng)前電影剪輯的電影剪輯。也可以用_parent創(chuàng)立一個(gè)相對(duì)目標(biāo)路徑。這里(zhèlǐ)的this也是Flash的關(guān)鍵字,這個(gè)this指AS所在的這條Timeline.第五頁(yè),共73頁(yè)。2、斜杠語(yǔ)法

Flash5支持這種語(yǔ)法,但不推薦使用。在斜杠語(yǔ)法中,斜杠被用來(lái)取代點(diǎn),用以標(biāo)明電影剪輯或變量的路徑(lùjìng)。要指出一個(gè)變量,可以在變量前加上冒號(hào)。例:myMovieClip/childMovieClip:myVariable

可以用點(diǎn)語(yǔ)法取代上述斜杠語(yǔ)法表示的目標(biāo)路徑(lùjìng):

myMovieClip.childMovieClip.myVariable

斜杠語(yǔ)法在tellTarget動(dòng)作中使用最普遍,但這種動(dòng)作在Flash8中已不再推薦使用。第六頁(yè),共73頁(yè)。3.大括號(hào)

Actionscript語(yǔ)句用大括號(hào)({})分塊,如下面(xiàmian)的腳本所示:

on(release){

myDate=newDate();

currentMonth=myDate.getMonth();

}

第七頁(yè),共73頁(yè)。4.分號(hào)

Actionscript語(yǔ)句用分號(hào)(;)結(jié)束,但如果你省略語(yǔ)句結(jié)尾的分號(hào),F(xiàn)lash仍然可以成功(chénggōng)地編譯你的腳本。例如,下面的語(yǔ)句用分號(hào)結(jié)束:

colum=passedDate.getDay();

row=0;

第八頁(yè),共73頁(yè)。

定義一個(gè)函數(shù)(hánshù)時(shí),要把參數(shù)放在圓括號(hào)中:

functionmyFunction(name,age,reader){

...

}

調(diào)用一個(gè)函數(shù)(hánshù)時(shí),也要把要傳遞的參數(shù)放在圓括號(hào)中:

myFunction(“Steve〞,10,true);

圓括號(hào)也可以用來(lái)改變ActionScript的優(yōu)先級(jí),或使自己編寫(xiě)的ActionScript語(yǔ)句更容易閱讀。第九頁(yè),共73頁(yè)。6、大小寫(xiě)字母

在Actionscript中,只有關(guān)鍵字區(qū)分大小寫(xiě)。對(duì)于其余的Actionscript,可以使用大寫(xiě)或小寫(xiě)字母。例如,下面的語(yǔ)句是等價(jià)的:

cat.hilite=true;

CAT.hilite=true;

但是,遵守一致的大小寫(xiě)約定是一個(gè)好的習(xí)慣。這樣,在閱讀Actionscript代碼時(shí)更易于區(qū)分函數(shù)和變量的名字。如果在書(shū)寫(xiě)關(guān)鍵字時(shí)沒(méi)有使用正確的大小寫(xiě),你的腳本將會(huì)出現(xiàn)錯(cuò)誤。例如下面的兩個(gè)語(yǔ)句:

setProperty(ball,_xscale,scale);

setproperty(ball,_xscale,scale);

前一句是正確的,后一句中property中的p應(yīng)是大寫(xiě)而沒(méi)有大寫(xiě),所以是錯(cuò)誤的。在動(dòng)作面板中啟用彩色語(yǔ)法功能(gōngnéng)時(shí),用正確的大小寫(xiě)書(shū)寫(xiě)的關(guān)鍵字用藍(lán)色區(qū)別顯示,因而很容易發(fā)現(xiàn)關(guān)鍵字的拼寫(xiě)錯(cuò)誤。

第十頁(yè),共73頁(yè)。7.注釋

需要記住一個(gè)動(dòng)作的作用時(shí),可在動(dòng)作面板中使用comment(注釋)語(yǔ)句給幀或按鈕動(dòng)作添加注釋。如果你在協(xié)作環(huán)境中工作或給別人(biérén)提供范例,添加注釋有助于別人(biérén)對(duì)你編寫(xiě)的腳本的正確理解。

在動(dòng)作面板中選擇comment動(dòng)作時(shí),字符“//〞被插入到腳本中。如果在你創(chuàng)立腳本時(shí)加上注釋,即使是較復(fù)雜的腳本也易于理解。第十一頁(yè),共73頁(yè)。8.關(guān)鍵字

Actionscript保存一些單詞,專用于與本語(yǔ)言之中。因此,不能用這些保存字作為變量、函數(shù)或標(biāo)簽的名字。下表列出了Actionscript中所有的關(guān)鍵字:

breakcontinuedeleteelse

forfunctionifin

newreturnthistypeof

varvoidwhilewith

【注意】這些關(guān)鍵字都是小寫(xiě)(xiǎoxiě)形式,不能寫(xiě)成大寫(xiě)形式。

第十二頁(yè),共73頁(yè)。二、腳本(jiǎoběn)中的常量與變量1、關(guān)于(guānyú)變量

變量是存儲(chǔ)信息的容器。容器本身總是相同的,但內(nèi)容可以改變。在首次定義一個(gè)變量時(shí),最好賦給它一個(gè)的值,這稱為初始化變量。初始化變量常常是在動(dòng)畫(huà)的第一幀進(jìn)行。對(duì)變量初始化使我們能夠在播放動(dòng)畫(huà)時(shí)更容易跟蹤和比較變量的值。第十三頁(yè),共73頁(yè)。(1)命名變量

給變量命名必須遵守以下規(guī)那么:變量名必須是一個(gè)標(biāo)識(shí)符,不能以漢字(Hànzì)開(kāi)頭。變量名不能是一個(gè)關(guān)鍵字或邏輯常量〔true或false〕。變量名在它的作用范圍內(nèi)必須是唯一的〔參閱變量的作用范圍〕。第十四頁(yè),共73頁(yè)。trace()函數(shù)trace實(shí)際上是一個(gè)調(diào)試命令,它的輸出(shūchū)會(huì)在“輸出(shūchū)面板〞顯示出來(lái),但在正式發(fā)布后不會(huì)顯示。應(yīng)用格式:trace(expression:object)參數(shù):Expression是要顯示的變量或表達(dá)式。第十五頁(yè),共73頁(yè)。變量(biànliàng)的聲明:即給變量(biànliàng)賦值。變量(biànliàng)聲明格式:變量(biànliàng)名=<表達(dá)式>set〔〞變量(biànliàng)名稱〞,變量(biànliàng)值)第十六頁(yè),共73頁(yè)。(2)變量的作用(zuòyòng)范圍在動(dòng)作腳本中,有三種類型的變量范圍:全局變量、局部變量〔本地變量〕、時(shí)間軸變量A:全局變量:在整個(gè)文檔有效全局變量就是可以作用在整個(gè)Flash影片的所有深度級(jí)別上的變量。你可以在某一幀中設(shè)置它,并在其他幀中使用和改變它的值。

你不需要使用特別的方法創(chuàng)立全局變量,像前一個(gè)例子一樣,直接設(shè)置并使用它,它自動(dòng)成為一個(gè)全局變量。

在許多編程語(yǔ)言中,全局變量可以在任何(rènhé)地方使用。Flash影片使用一個(gè)概念叫層級(jí)〔level〕。整個(gè)影片的主時(shí)間軸作為根〔root〕層級(jí),影片剪輯是時(shí)間軸中的小影片。影片剪輯中的圖形和腳本要比根層級(jí)低一個(gè)級(jí)別。影片剪輯不能直接使用根層級(jí)中的全局變量。

第十七頁(yè),共73頁(yè)。B:局部變量

局部變量只能存在于當(dāng)前腳本中,而在其他幀中它將不再存在。你可以在使用同一個(gè)變量名在不同的幀中創(chuàng)立不同的局部變量,它們之間將互不影響。

局部變量可用來(lái)創(chuàng)立模塊化的代碼。當(dāng)前腳本執(zhí)行完時(shí),局部變量將被從內(nèi)存中刪除;而全局變量將保存到影片結(jié)束。

創(chuàng)立局部變量需要使用關(guān)鍵字var。例如,下面的ActionScript創(chuàng)立值為15的局部變量myLocalVariable:myLocalVariable

=

15;

使用var創(chuàng)立局部變量后,在當(dāng)前代碼中就不再需要使用關(guān)鍵字var了。例如,下面的代碼創(chuàng)立值為20的局部變量myLocalVariable,然后將其值改為8,再發(fā)送到輸出窗口中。

var

myLocalVariable

=

20;

myLocalVariable

=

8;

trace(myLocalVariable);

如果(rúguǒ)沒(méi)有特殊的需要,請(qǐng)盡量使用局部變量。第十八頁(yè),共73頁(yè)。C:時(shí)間軸變量:在聲明該變量的時(shí)間軸內(nèi)有效(yǒuxiào),有效(yǒuxiào)期從聲明該變量的幀開(kāi)始.第十九頁(yè),共73頁(yè)。三、數(shù)據(jù)類型

數(shù)據(jù)類型說(shuō)明一個(gè)變量或ActionScript元素可以存儲(chǔ)的信息(xìnxī)種類。在Flash的ActionScript中有兩種數(shù)據(jù)類型:原始數(shù)據(jù)類型〔Primitive〕和引用數(shù)據(jù)類型〔Reference〕。原始數(shù)據(jù)類型〔如字符串、數(shù)值、邏輯值〕有一個(gè)常數(shù)值。因此,可以存儲(chǔ)它們所代表的元素的實(shí)際值。引用數(shù)據(jù)類型〔如電影剪輯和對(duì)象〕擁有可以改變的值。第二十頁(yè),共73頁(yè)。1、原始數(shù)據(jù)類型:〔1〕字符串

字符串是一個(gè)字符〔字母、數(shù)字和標(biāo)點(diǎn)符號(hào)〕序列。在ActionScript語(yǔ)句中輸入字符串,使用(shǐyòng)單引號(hào)或雙引號(hào)括住。可以用加號(hào)〔+〕操作符連接兩個(gè)字符串。第二十一頁(yè),共73頁(yè)。第二十二頁(yè),共73頁(yè)。四、運(yùn)算符1、數(shù)值操作符

數(shù)值操作符執(zhí)行加、減、乘、除和其它算術(shù)運(yùn)算。括號(hào)和負(fù)號(hào)〔-〕也屬于算術(shù)操作符。下表列出了ActionScript的數(shù)值操作符:

操作符 執(zhí)行的運(yùn)算 + 加法 * 乘法(chéngfǎ) / 除法 % 取模 - 減法 ++ 遞增 -- 遞減第二十三頁(yè),共73頁(yè)。第二十四頁(yè),共73頁(yè)。2、比較操作符操作符 執(zhí)行(zhíxíng)的操作< 小于> 大于<= 小于等于>= 大于等于!= 不等于== 相等第二十五頁(yè),共73頁(yè)。3、字符串操作符

+操作符對(duì)字符串操作時(shí),其作用是連接兩個(gè)字符串操作數(shù)。注:Flash8的ActionScript的數(shù)據(jù)類型允許同一操作符用于不同的數(shù)據(jù)類型。因此,再也(zàiyě)不需要使用Flash4的字符串操作符〔例如eq、ge和lt等〕,除非需要導(dǎo)出Flash4動(dòng)畫(huà)。

第二十六頁(yè),共73頁(yè)。4、邏輯操作符

邏輯操作符比較兩個(gè)邏輯值〔true和false〕,返回(fǎnhuí)結(jié)果也是邏輯值。 操作符 執(zhí)行的操作 && 邏輯與 || 邏輯或 ! 邏輯非第二十七頁(yè),共73頁(yè)。添加(tiānjiā)動(dòng)作腳本動(dòng)作腳本由:事件和動(dòng)作組成.事件:由系統(tǒng)預(yù)先設(shè)置并能被計(jì)算機(jī)識(shí)別。包括:幀事件、鼠標(biāo)事件、影片剪輯事件。Flash中能添加行為的對(duì)象:關(guān)鍵幀、按鈕、影片剪輯。1、幀:必須是關(guān)鍵幀寫(xiě)在關(guān)鍵幀上面的AS,當(dāng)時(shí)間軸上的指針走到這個(gè)關(guān)鍵幀的時(shí)候,就寫(xiě)在這個(gè)幀上面的AS就被觸發(fā)執(zhí)行了。操作方法就是點(diǎn)選關(guān)鍵幀,然后翻開(kāi)AS面板(miànbǎn)語(yǔ)句系列;第二十八頁(yè),共73頁(yè)。2、按鈕:不同于幀上面(shàngmiɑn)的AS,按鈕上面(shàngmiɑn)的AS是要有觸發(fā)條件的〔一般為鼠標(biāo)事件〕。寫(xiě)在按鈕上面(shàngmiɑn)的AS是這種格式的:on(事件){要執(zhí)行的代碼;}操作方法是點(diǎn)選目標(biāo)按鈕,然后翻開(kāi)AS面板按鈕的常用事件:release松開(kāi)releaseOutside在按鈕外面松開(kāi)press按下rollOver鼠標(biāo)進(jìn)入按鈕的感應(yīng)區(qū)rollOut鼠標(biāo)離開(kāi)按鈕的感應(yīng)區(qū)第二十九頁(yè),共73頁(yè)。1、常用的控制場(chǎng)景的方法,如:play();//讓時(shí)間軸的指針播放stop();//停止時(shí)間軸的指針在程序(chéngxù)觸發(fā)時(shí)候的那個(gè)幀gotoAndPlay();//讓指針跳轉(zhuǎn)到某個(gè)幀,然后繼續(xù)播放gotoAndStop();//讓指針跳轉(zhuǎn)到某個(gè)幀,停止在那個(gè)幀nextFrame();//往下走一幀prevFrame();//往前走一幀nextScene();//往下一場(chǎng)景prevScene();//往前一場(chǎng)景第三十頁(yè),共73頁(yè)。實(shí)例(shílì):用時(shí)間軸控制行為控制動(dòng)畫(huà)的播放第三十一頁(yè),共73頁(yè)。第三十二頁(yè),共73頁(yè)。第三十三頁(yè),共73頁(yè)。第三十四頁(yè),共73頁(yè)。第三十五頁(yè),共73頁(yè)。第三十六頁(yè),共73頁(yè)。第三十七頁(yè),共73頁(yè)。第三十八頁(yè),共73頁(yè)。第三十九頁(yè),共73頁(yè)。第二節(jié)影片剪輯(jiǎnjí)的屬性第四十頁(yè),共73頁(yè)。屬性用法說(shuō)明可獲得可設(shè)置取值范圍_xMC._x返回/設(shè)置MC的橫坐標(biāo)值YesYes數(shù)值_yMC._y返回/設(shè)置MC的縱坐標(biāo)值YesYes數(shù)值_xscaleMC._xscale返回設(shè)置MC的x軸縮放比例YesYes數(shù)值_xscaleMC._yscale返回設(shè)置MC的y軸縮放比例YesYes數(shù)值_alphaMC._alpha返回/設(shè)置MC的透明度YesYes0-100_visibleMC._visible返回/設(shè)置MC的可見(jiàn)性YesYestrue;false_widthMC._width返回/設(shè)置MC的碇?lt;/td>YesYes數(shù)值_heightMC._height返回/設(shè)置MC的高值YesYes數(shù)值_rotationMC._rotation返回/設(shè)置MC的角度YesYes數(shù)值_currentframeMC._currentframe返回MC的當(dāng)前幀YesNo-_totalframesMC._totalframes返回MC的總幀數(shù)YesNo-_framesloadedMC._framesloaded返回已下載幀數(shù)YesNo-_nameMC._name返回/設(shè)置MC的名稱YesYes-第四十一頁(yè),共73頁(yè)。鼠標(biāo)位置

你不但可以獲得影片中影片剪輯的坐標(biāo)位置,還可以獲得鼠標(biāo)位置,即鼠標(biāo)光標(biāo)在影片中的坐標(biāo)位置。

表示鼠標(biāo)光標(biāo)的坐標(biāo)屬性的關(guān)鍵字是_xmouse和_ymouse_xmouse代表光標(biāo)的水平坐標(biāo)位置ymouse代表光標(biāo)的垂直坐標(biāo)位置。

需要說(shuō)明的是,如果這兩個(gè)關(guān)鍵字用在主時(shí)間軸中,那么它們表示鼠標(biāo)光標(biāo)相對(duì)于主場(chǎng)景的坐標(biāo)位置;如果這兩個(gè)關(guān)鍵字用在影片剪輯中,那么它們表示鼠標(biāo)光標(biāo)相對(duì)于該影片剪輯的坐標(biāo)位置。_xmouse和_ymouse屬性都是從對(duì)象的坐標(biāo)原點(diǎn)開(kāi)始計(jì)算的,即在主時(shí)間軸中代表光標(biāo)與左上角之間的距離;在影片剪輯中代表光標(biāo)與影片剪輯中心(zhōngxīn)之間的距離。

多數(shù)情況下,你需要用到鼠標(biāo)光標(biāo)在主場(chǎng)景中的位置,所以可以使用_root._xmouse和_root._ymouse表示。

第四十二頁(yè),共73頁(yè)。Date對(duì)象(duìxiàng)應(yīng)用Date

對(duì)象使您可以獲取相對(duì)于通用時(shí)間〔格林尼治平均時(shí),現(xiàn)在叫做通用時(shí)間或

UTC〕或相對(duì)于運(yùn)行

Flash

Player

的操作系統(tǒng)的日期和時(shí)間值。Date

對(duì)象的方法不是靜態(tài)的,但僅應(yīng)用于調(diào)用方法時(shí)指定的

Date

對(duì)象的單個(gè)實(shí)例。Date.UTC

方法是個(gè)例外,它是一個(gè)靜態(tài)方法。

Date

對(duì)象以不同的方式處理夏時(shí)制,具體取決于操作系統(tǒng)和

Flash

Player

的版本。

假設(shè)(jiǎshè)要調(diào)用

Date

對(duì)象的方法,必須首先使用

Date

對(duì)象的構(gòu)造函數(shù)創(chuàng)立一個(gè)

Date

對(duì)象的實(shí)例。第四十三頁(yè),共73頁(yè)。

一、Date對(duì)象由七局部構(gòu)成,它們是:

year:0~99表示1900~1999年,如果要表示在此以外的年,必須使用(shǐyòng)完整的4位數(shù)字。month:0~11表示1月~12月。

date:1~31表示日期。hour:0~23表示小時(shí)數(shù)。

minute:0~59表示分鐘數(shù)。

second:0~59表示秒數(shù)。

millisecond:0~999表示毫秒數(shù)。第四十四頁(yè),共73頁(yè)。二、Data對(duì)象的創(chuàng)立(chuànglì)方法Date對(duì)象主要有兩種創(chuàng)立方法:1、一種是通過(guò)指定時(shí)間創(chuàng)立一個(gè)Date對(duì)象的實(shí)例,這時(shí)至少(zhìshǎo)要用到y(tǒng)ear和month兩個(gè)參數(shù),如下所示:

myDate

=

new

Date(2003,

7,

8,

13,

16,

500);

2、另一種方法是通過(guò)獲取系統(tǒng)時(shí)間創(chuàng)立一個(gè)Date對(duì)象的實(shí)例,這時(shí)不指定任何參數(shù),如下所示:

myDate

=

new

Date();

第四十五頁(yè),共73頁(yè)。創(chuàng)立Date對(duì)象后即可使用Date對(duì)象的方法(fāngfǎ),常用方法(fāngfǎ)如下:date.getYear():返回簡(jiǎn)寫(xiě)年份,如1999年返回99,2003年返回103。getFullYear():返回完整的4位數(shù)年份,如2003年返回2003。getMonth():返回月份,如7月返回6。getDate():返回日期,如7月16日返回16。getHours():返回小時(shí)數(shù),如下午1點(diǎn)返回13。getMinutes():、getSeconds():和getMilliseconds():方法(fāngfǎ)分別返回分鐘、秒和毫秒數(shù)。getDay():返回星期數(shù),星期日返回0,星期一返回1,以此類推。getTime():返回自1970年1月1日上午8時(shí)至Date對(duì)象所指時(shí)間的毫秒數(shù)。第四十六頁(yè),共73頁(yè)。實(shí)例(shílì):用動(dòng)態(tài)文本框制作電子時(shí)鐘。準(zhǔn)確的時(shí)鐘制作萬(wàn)年歷第四十七頁(yè),共73頁(yè)。第三節(jié)影片剪輯(jiǎnjí)行為應(yīng)用控制影片剪輯的行為方法很多,下面介紹常用的一些行為方法。1、Array對(duì)象

Array對(duì)象〔動(dòng)作面板的“對(duì)象〞/“核心〞目錄〕即數(shù)組,它用來(lái)記錄成組的相關(guān)或相似變量。數(shù)組中的單個(gè)變量稱為元素,數(shù)組中的每個(gè)元素對(duì)應(yīng)一個(gè)索引,訪問(wèn)元素需要使用索引,索引需要用方括號(hào)括起來(lái)。

如下所示的ActionScript創(chuàng)立一個(gè)空的數(shù)組:

myArray

=

new

Array();

如下所示的ActionScript創(chuàng)立一個(gè)確定(quèdìng)值的數(shù)組并在輸出窗口中顯示每個(gè)元素的值:

weekDay

=

new

Array("SUN",

"MON",

"TUE",

"WED",

"TUR",

"FRI",

"SAT");

for

(var

i

=

0;

i<7;

i++)

{

trace(weekDay[i]);

}第四十八頁(yè),共73頁(yè)。2、設(shè)置影片剪輯屬性語(yǔ)法格式:setProperty(對(duì)象名稱,屬性,屬性值)可等價(jià)于:影片剪輯名稱._屬性=屬性值說(shuō)明:假設(shè)影片剪輯名稱為變量(biànliàng)或表達(dá)式要表示成:_root(this,parent)[變量(biànliàng)或表達(dá)式]._屬性=屬性值第四十九頁(yè),共73頁(yè)。3、復(fù)制影片剪輯

duplicateMovieClip動(dòng)作〔動(dòng)作面板的“動(dòng)作〞/“影片剪輯控制〞目錄〕和MovieClip對(duì)象〔動(dòng)作面板的“對(duì)象〞/“影片〞目錄〕中的duplicateMovieClip方法都用于在影片播放時(shí)創(chuàng)立影片剪輯的實(shí)例,也即復(fù)制場(chǎng)景中的父影片剪輯以產(chǎn)生新的影片剪輯。它們和后面要介紹的attachMovie方法對(duì)于要在影片中重復(fù)產(chǎn)生較多相同圖形或動(dòng)畫(huà)對(duì)象時(shí)非常(fēicháng)有用,如棋類游戲、射擊游戲、鼠標(biāo)跟隨、下雪等特效動(dòng)畫(huà)。語(yǔ)法格式:duplicateMovieClip(對(duì)象名稱,新對(duì)象名稱,深度)第五十頁(yè),共73頁(yè)。實(shí)例:制作(zhìzuò)下雨的效果第五十一頁(yè),共73頁(yè)。4

刪除影片剪輯

通過(guò)以上方法創(chuàng)立的影片剪輯實(shí)例(shílì)都可以使用removeMovieClip動(dòng)作〔動(dòng)作面板的“動(dòng)作〞/“影片剪輯控制〞目錄〕或MovieClip對(duì)象的removeMovieClip方法刪除,語(yǔ)法格式:removeMovieClip(對(duì)象名稱)

第五十二頁(yè),共73頁(yè)。實(shí)例:用按鈕添加行為(xíngwéi)進(jìn)行影片剪輯的刪除第五十三頁(yè),共73頁(yè)。5、

單擊影片剪輯

你也許會(huì)認(rèn)為只有按鈕才能被鼠標(biāo)單擊,其實(shí)并非如此,采用一些技巧,影片剪輯也能接受鼠標(biāo)的單擊動(dòng)作,并且(bìngqiě)可以有幾種方法實(shí)現(xiàn)這種功能。

第五十四頁(yè),共73頁(yè)。〔1〕

將按鈕置于影片剪輯中

影片剪輯本身并不能響應(yīng)鼠標(biāo)單擊動(dòng)作,所以不能像按鈕一樣使用on(release)或是on(press)等事件處理函數(shù)。要使影片剪輯響應(yīng)鼠標(biāo)單擊動(dòng)作,可以在影片剪輯中放入按鈕。如前一章中的臺(tái)球?qū)嵗谇驐U影片剪輯中即參加(cānjiā)了一個(gè)覆蓋整個(gè)球桿的隱形按鈕,當(dāng)單擊球桿〔實(shí)際上是單擊按鈕〕時(shí),即令影片剪輯開(kāi)始播放,執(zhí)行擊球的動(dòng)作。

第五十五頁(yè),共73頁(yè)。實(shí)例:制作(zhìzuò)鼠標(biāo)經(jīng)過(guò)特效第五十六頁(yè),共73頁(yè)?!?〕hitTest方法

在影片剪輯中參加按鈕并不是讓影片剪輯響應(yīng)鼠標(biāo)動(dòng)作的唯一方法。事實(shí)上,你可以使用onClipEvent

(mouseDown)或是onClipEvent

(mouseUp)或是onClipEvent

(mouseMove)等事件處理函數(shù)響應(yīng)鼠標(biāo)的動(dòng)作,

雖然影片剪輯中有這們的事件處理函數(shù),但它與按鈕的事件處理函數(shù)是有明顯區(qū)別的。如影片剪輯的onClipEvent

(mouseUp)事件,無(wú)論鼠標(biāo)在什么(shénme)位置單擊,只要是包含該函數(shù)的影片剪輯都要執(zhí)行相應(yīng)的動(dòng)作;而按鈕的on

(release)事件只有當(dāng)鼠標(biāo)在按鈕上單擊才會(huì)發(fā)生。第五十七頁(yè),共73頁(yè)。命令格式一:影片剪輯.hitTest(被拖拽的實(shí)例)這個(gè)是比較簡(jiǎn)單的檢測(cè)(jiǎncè)碰撞命令

命令格式二:影片剪輯.hitTest(被拖拽實(shí)例的X軸坐標(biāo),被拖拽實(shí)例的Y軸坐標(biāo),對(duì)象的矩形區(qū)域范圍還是對(duì)象本身范圍)這個(gè)是比較復(fù)雜點(diǎn)的檢測(cè)(jiǎncè)碰撞命令

矩形區(qū)域范圍和對(duì)象本身范圍〔上面的命令中,false表示對(duì)象的矩形區(qū)域范圍,true表示對(duì)象本身的范圍〕第五十八頁(yè),共73頁(yè)。實(shí)例1:用onClipEvent函數(shù)在影片剪輯內(nèi)部添加如下代碼(dàimǎ):onClipEvent(enterFrame){ this._x=_root._xmouse; this._y=_root._ymouse;}此時(shí),鼠標(biāo)在任意位置都可以拖動(dòng)MC第五十九頁(yè),共73頁(yè)。實(shí)例2:在影片(yǐngpiàn)剪輯內(nèi)部添加代碼:onClipEvent(enterFrame){ if(this.hitTest(_root._xmouse,_root._ymouse,true)){ this._x=_root._xmouse; this._y=_root._ymouse;}}以上語(yǔ)句在enterframe事件發(fā)生時(shí),判斷鼠標(biāo)位置所在點(diǎn)與當(dāng)前影片(yǐngpiàn)剪輯之間是否相交,只有當(dāng)鼠標(biāo)放在影片(yǐngpiàn)剪輯上時(shí)才能拖動(dòng)MC第六十頁(yè),共73頁(yè)。實(shí)例(shílì):拖動(dòng)的蠟燭第六十一頁(yè),共73頁(yè)。6、startDrag:拖動(dòng)影片剪輯語(yǔ)法格式(géshi):startDrag(“對(duì)象名稱〞,屬性,坐標(biāo)〕可等同于:對(duì)象名稱.startDrag()7、stopDrag:停止拖動(dòng)影片剪輯語(yǔ)法格式(géshi):stopDrag(“對(duì)象名稱〞)等同于:對(duì)象名稱.stopDrag()第六十二頁(yè),共73頁(yè)。實(shí)例:拖動(dòng)的蠟燭實(shí)例拖動(dòng)的蝴蝶簡(jiǎn)單(jiǎndān)拼圖游戲(用startDrag與hittest、單用startDrag)第六十三頁(yè),共73頁(yè)。1、Fscommand指令使用的語(yǔ)法是:Fscommand("command","arguments")

Command是指令的相關(guān)命令,arguments是命令的參數(shù)。說(shuō)明函數(shù);使SWF文件能夠與FlashPlayer或承載FlashPlayer的程序〔如Web瀏覽器〕進(jìn)行通訊。還可使用fscommand動(dòng)作(dòngzuò)將消息傳遞給MacromediaDirector,或者傳遞給VisualBasic、VisualC++和其它可承載ActiveX控件的程序。

用法1:假設(shè)要將消息發(fā)送給FlashPlayer,必須使用預(yù)定義的命令和參數(shù)。下表顯示可為fscommand動(dòng)作(dòngzuò)的command和parameters參數(shù)指定的值,這些值用于控制在Flashplayer〔包括播放器〕中播放的SWF文件:第六十四頁(yè),共73頁(yè)。1、全屏播放Flash“Fullscreen〞是全屏的意思

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論