《多媒體技術與網頁設計》課件第16章_第1頁
《多媒體技術與網頁設計》課件第16章_第2頁
《多媒體技術與網頁設計》課件第16章_第3頁
《多媒體技術與網頁設計》課件第16章_第4頁
《多媒體技術與網頁設計》課件第16章_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第16章Flash交互16.1編輯環(huán)境16.2常量和變量16.3函數(shù)16.4屬性16.5運算符和表達式16.6播放控制語句16.7賦值語句16.8屬性設置語句16.9跳轉調用語句16.10條件語句16.11循環(huán)語句16.12URL地址鏈接語句16.13應用實例

16.1編輯環(huán)境

在Flash動作面板(如圖16.1所示)中可以為兩種對象設置命令,即關鍵幀和按鈕。為關鍵幀設置命令可以使得動畫播放到該幀時響應一些預先設定的命令,設置了命令之后該關鍵幀上將出現(xiàn)一個a。為按鈕設置動作命令可以使用戶在對該按鈕進行操作時產生某種響應。圖16.1Flash動作面板16.2常?量?和?變?量

1.常量

(1)數(shù)值型常量:由具體數(shù)字表示的定量參數(shù)。

(2)字符串型常量:由若干字符組成表達某一特定含義的常量,其兩端必須用引號標明,如“ABC”等。

(3)邏輯型常量:用來判斷某一條件是否成立的常

量,有True和False兩種取值。Flash中的常用常量如表16.1所示。

2.變量

所謂變量,是指為用戶提供的一個可變的參數(shù),用戶可以用變量來保存或改變語句中的參數(shù)值,變量可以是數(shù)值、字符串、邏輯值或表達式。

16.3函數(shù)

函數(shù)是用來對常量、變量進行某種運算的方法,如獲得整數(shù)、產生隨機數(shù)等。主要函數(shù)有:

(1)?Array([numElements:Number],[elementN:Object])創(chuàng)建一個新的空數(shù)組,或者將指定的元素轉換為數(shù)組。

(2)?asfunction(function:String,parameter:String):用于HTML文本字段中URL的特殊協(xié)議,該協(xié)議允許HREF鏈接調用ActionScript函數(shù)。

(3)?Boolean(expression:Object):將參數(shù)expression轉換為布爾值并返回true或false。

(4)?call(frame:Object):在被調用幀中執(zhí)行腳本,而不將播放頭移動到該幀。

(5)?chr(number:Number):將ASCII代碼數(shù)字轉換為字符。

(6)?clearInterval(intervalID:Number):停止setInterval()調用。

(7)?duplicateMovieClip(target:Object,newname:String,

depth:Number):當SWF文件正在播放時,創(chuàng)建一個影片剪輯的實例。

(8)?escape(expression:String):將參數(shù)轉換為字符串,并以URL編碼格式對其進行編碼,在這種格式中,所有非字母數(shù)字的字符都替換為%十六進制序列,%用于引入轉義符。

(9)?eval(expression:Object):按照名稱訪問變量、屬性、對象或影片剪輯。

(10)?fscommand(command:String,parameters:String):使SWF文件能夠與FlashPlayer或承載FlashPlayer的程序(如Web瀏覽器)進行通信。

(11)?getProperty(my_mc:String,property):返回影片剪輯my_mc指定屬性的值。

(12)?getTimer():返回自SWF文件開始播放時起已經過的毫秒數(shù)。

(13)?getURL(url:String,[window:String],[method:String]):將來自特定URL的文檔加載到窗口中,或將變量傳遞到位于所定義的URL的另一個應用程序

中。

(14)?getVersion():返回一個包含F(xiàn)lashPlayer版本和平臺信息的字符串。

(15)?gotoAndPlay([scene:String],frame:Object):將播放頭轉到場景中指定的幀并從該幀開始播放。

(16)?gotoAndStop([scene:String],frame:Object):將播放頭轉到場景中指定的幀并停止播放。

(17)?ifFrameLoaded([scene:String],frame:Object):檢查特定幀的內容是否在本地可用。

(18)?int(value:Number):通過截斷小數(shù)值將小數(shù)轉換為整數(shù)值。

(19)?isFinite(expression:Object):計算expression,

如果結果為有限數(shù),則返回true;如果為無窮大或負無窮大,則返回false。

(20)?isNaN(expression:Object):計算參數(shù),如果值為NaN(非數(shù)字),則返回true。

(21)?length(expression:String,variable:Object):返回指定字符串或變量的長度。

(22)?loadMovie(url:String,target:Object,[method:String]):在播放原始SWF文件的同時將SWF文件或JPEG文件加載到FlashPlayer中。

(23)?loadMovieNum(url:String,level:Number,[method:String]):在播放原來加載的SWF文件的同時將SWF文件或JPEG文件加載到FlashPlayer的某個級別中。

(24)?loadVariables(url:String,target:Object,[method:String]):從外部文件(如文本文件,或由ColdFusion、CGI腳本、ActiveServerPage(ASP)、PHP或Perl腳本生成的文本)中讀取數(shù)據(jù),并設置目標影片剪輯中變量的值。

(25)?loadVariablesNum(url:String,level:Number,[method:String]):從外部文件(如文本文件,或由ColdFusion、CGI腳本、ASP、PHP或Perl腳本生成的文本)中讀取數(shù)據(jù),并設置FlashPlayer的某個級別中的變量的值。

(26)?mbchr(number:Number):將ASCII代碼數(shù)字轉換為多字節(jié)字符。

(27)?mblength(string:String):返回多字節(jié)字符串的長度。

(28)?mbord(character:String):將指定字符轉換為多字節(jié)數(shù)字。

(29)?mbsubstring(value:String,index:Number,count:

Number):從多字節(jié)字符串中提取新的多字節(jié)字符串。

(30)?MMExecute(command:String):允許從ActionScript中發(fā)出FlashJavaScriptAPI(JSAPI)命令。

(31)?nextFrame(?):將播放頭轉到下一幀。

(32)?nextScene(?):將播放頭轉到下一場景的第1幀。

(33)?Number(expression:Object):將參數(shù)expression轉換為數(shù)字。

(34)?Object([value:Object]):創(chuàng)建一個新的空對象,或者將指定的數(shù)字、字符串或布爾值轉換為一個對象。

(35)?on(mouseEvent:Object):指定觸發(fā)動作的鼠標事件或按鍵。

(36)?onClipEvent(movieEvent:Object):觸發(fā)為特定影片剪輯實例定義的動作。

(37)?ord(character:String):將字符轉換為ASCII代碼數(shù)字。

(38)?parseFloat(string:String):將字符串轉換為浮點

數(shù)。

(39)?parseInt(expression:String,[radix:Number]):將字符串轉換為整數(shù)。

(40)?play():在時間軸中向前移動播放頭。

(41)?prevFrame():將播放頭轉到前一幀。

(42)?prevScene():將播放頭轉到前一場景的第1幀。

(43)?random(value:Number):返回一個隨機整數(shù),該整數(shù)介于0到value之間。

(44)?removeMovieClip(target:Object):刪除指定的影片剪輯。

(45)?setInterval(functionReference:Function,interval:Number,[param:Object],objectReference:Object,methodName:String):在播放SWF文件時,每隔一定時間就調用函數(shù)或對象的方法。

(46)?setProperty(target:Object,property:Object,expression:Object):當影片剪輯播放時,更改影片剪輯的屬性值。

(47)?showRedrawRegions(enable:Boolean,[color:Number]):使調試器播放器能夠描畫出正在重繪的屏幕區(qū)域的輪廓。

(48)?startDrag(target:Object,[lock:Boolean],[left,top,right,bottom:Number]):使target影片剪輯在影片播放過程中可拖動。

(49)?stop():停止當前正在播放的SWF文件。

(50)?stopAllSounds():在不停止播放頭的情況下停止SWF文件中當前正在播放的所有聲音。

(51)?stopDrag():停止當前的拖動操作。

(52)?String(expression:Object):返回指定參數(shù)的字符串表示形式。

(53)?substring(string:String,index:Number,count:Number):提取部分字符串。

(54)?targetPath(targetObject:Object):返回包含movieClipObject的目標路徑的字符串。

(55)?tellTarget(target:String,statement(s)):將在statements參數(shù)中指定的指令應用于在target參數(shù)中指定的時間軸。

(56)?toggleHighQuality():在FlashPlayer中啟用和禁用消除鋸齒功能。

(57)?trace(expression:Object):計算表達式并輸出結

果。

(58)?unescape(string:String):將參數(shù)x作為字符串計算,將該字符串從URL編碼格式解碼(將所有十六進制序列轉換為ASCII字符),并返回該字符串。

(59)?unloadMovie(target:Object):從FlashPlayer中刪除通過loadMovie()加載的影片剪輯。

(60)?unloadMovieNum(level:Number):從FlashPlayer中刪除通過loadMovieNum()加載的SWF或圖像。

(61)?updateAfterEvent():當在處理函數(shù)內調用它或使用setInterval()調用它時更新顯示。

16.4屬性

屬性用來表示目標對象的特性。它主要包括:

(1)?_alpha:對象的透明度。

(2)?_currentframe:當前幀的位置。

(3)?_framesloaded:指定動畫作品被調入的進度。

(4)?_name:獲取目標對象引用名稱。

(5)?_height:對象的高度。

(6)?_rotation:對象的旋轉。

(7)?_soundbuftime:設置音頻播放緩沖時間。

(8)?_url:對象的URL。

(9)?_visible:對象是否可見。

(10)?_width:對象的寬度。

(11)?_x:對象的X軸位置。

(12)?_y:對象的Y軸位置。

(13)?_xmouse:鼠標的X軸坐標。

(14)?_ymouse:鼠標的Y軸坐標。

(15)

this:引用對象或影片剪輯實例。

16.5運算符和表達式

1.算術運算符

算術運算符及其含義如表16.2所示。

2.比較運算符

比較運算符及其含義如表16.3所示。

3.邏輯運算符

邏輯運算符及其含義如表16.4所示。

4.字符串運算符

字符串運算符及其含義如表16.5所示。16.6播放控制語句

1.?stop和play語句

stop語句可以停止當前動畫播放并使播放停留在當前幀;play語句可以使停止的動畫連續(xù)播放。

Flash提供了以下8種按鈕響應:

(1)?press:按下,當在按鈕上按下鼠標左鍵時觸發(fā)動作。

(2)?release:放開,當在按鈕上按下鼠標左鍵,在不移動鼠標的情況下,釋放鼠標左鍵時觸發(fā)動作。

(3)?releaseOutside:在按鈕外放開,當在按鈕上按下鼠標左鍵,接著把鼠標光標移動到按鈕以外的區(qū)域松開鼠標時觸發(fā)動作。

(4)?rollOver:指向,當鼠標指針指向按鈕區(qū)域時觸發(fā)動作。

(5)?rollOut:離開,當鼠標指針離開按鈕區(qū)域時觸發(fā)動作。

(6)?dragOver:拖動指向,當按下鼠標左鍵不放,然后拖動光標經過按鈕區(qū)域時觸發(fā)動作。

(7)?dragOut:拖動離開,當在按鈕區(qū)域按下鼠標左鍵不放,然后拖動光標離開按鈕區(qū)域時觸發(fā)動作。

(8)?keyPress:響應鍵盤事件,如keyPress"<Left>“

等,可以響應鍵盤上的<left>、<right>、<up>、<down>、<insert>、<delete>、<home>、<end>、<pageup>、<pagedown>、<escape>、<space>、<enter>、<backspace>、<tab>按鍵。

2.?stopAllSounds語句

stopAllSounds語句用于終止所有正在播放的音頻片

段。該語句并不是使作品無法播放聲音,只是終止當前正在播放的音頻片段,執(zhí)行該語句后后面被激活的音頻對象仍然能夠正常播放。

16.7賦值語句

賦值語句是Flash中比較靈活的語句,使用該語句配合跳轉、條件語句可以實現(xiàn)非常靈活的交互動畫跳轉。

Flash的賦值語句是setvariable。

16.8屬性設置語句

屬性設置語句用來設置某一影片剪輯的屬性,如影片剪輯對象的位置、大小、旋轉、傾斜以及透明度等。

Flash的屬性設置語句是setProperty。

16.9跳轉調用語句

1.?goto語句

當執(zhí)行goto語句時動畫就會跳到指定的幀并根據(jù)設置繼續(xù)執(zhí)行或停止。

goto語句分為兩種類型:gotoAndPlay(指定位置)和gotoAndStop(指定位置)。

2.?call語句

call語句用于調用指定幀上的動畫腳本。其格式如

下:

call(放置腳本的關鍵幀)

16.10條件語句

1.?if、elseif和else語句

if語句格式如下:

if(條件1)

動作語句1

elseif(條件2)

動作語句2

else

動作語句3

endif

if語句用于判斷條件是否滿足,若滿足則執(zhí)行其中的動作。若if條件不滿足但滿足elseif的條件,則執(zhí)行elseif中的動作;若均不滿足,則執(zhí)行else語句中的動作。

2.?ifFrameLoaded語句

ifFrameLoaded語句用于偵測某指定的幀是否被載入,若載入則執(zhí)行其后設定的動作語句。

ifFrameLoaded常用于制作Loading動畫,制作Loading動畫是為了避免觀眾在等待比較大的文件時出現(xiàn)不耐煩

情緒。

16.11循環(huán)語句

在很多交互式的設計中,往往希望在滿足某情況下動作能夠多次執(zhí)行,直到不滿足條件為止,這時候就可以使用循環(huán)語句來達到要求了。

1.?dowhile

dowhile語句格式如下:

do{語句}while(條件)

先執(zhí)行語句再判斷條件,若條件滿足則繼續(xù)執(zhí)行語

句,然后再判斷執(zhí)行,直到條件不滿足為止,退出循環(huán)。

2.?while語句

while語句格式如下:

while(條件){語句}

先判斷條件是否滿足,若條件不滿足則退出循環(huán),若條件滿足則執(zhí)行語句,然后再判斷執(zhí)行,直到條件不滿足為止,退出循環(huán)。

3.?for語句

for語句格式如下:

for(初始值;條件;條件參數(shù)變化規(guī)律){語句}

先判斷條件是否滿足,若條件不滿足則退出循環(huán),若條件滿足則執(zhí)行語句,然后執(zhí)行條件參數(shù)變化規(guī)律,再判斷執(zhí)行,直到條件不滿足為止,退出循環(huán)。16.12URL地址鏈接語句

getURL語句用于打開與URL地址對應的網站。

URL語句應用實例:創(chuàng)建一按鈕,命名為URL;選中URL按鈕,在動作面板中設置為

on(press){

getURL(“http://網址,”_self”);

}當點擊該按鈕時就可打開網址對應的網站頁面。URL語句的參數(shù)設置如下:

_self:該參數(shù)使網頁在當前窗口中打開。

_blank:該參數(shù)將另開一個窗口放置打開的網頁。

_parrent:該參數(shù)將在當前窗口的上一級瀏覽器窗口中打開網頁。

_top:該參數(shù)將在當前窗口的頂級瀏覽器窗口中打開網頁。

16.13應用實例

本實例制作一個簡單的電子鐘,具體操作步驟

如下:

(1)新建Flash文檔。

(2)導入一副風景圖片到庫中。

(3)新建兩個圖層,將圖層1命名為“背景”,將圖層2命名為“文本”,將圖層3命名為“動作”(如圖16.2所示),選中背景圖層的第1幀,從庫面板中拖入風景圖片,調整好大小(550px×400px)以及位置(0,0)。圖16.2圖層設置

(4)在背景圖層的第2幀插入幀做延續(xù),在文本圖層

的第2幀插入幀做延續(xù),在動作圖層的第2幀插入關鍵幀。

(5)為動作圖層的第1幀設置動作代碼,如圖16.3

所示。圖16.3設置動作代碼第1幀動作代碼如下:

time=newDate();

varyy=time.getFullYear()

varmm=time.getMonth()+1

vardd=time.getDate()

vars=time.getSeconds();

varm=time.getMinutes();

varh=time.getHours();

if(h<12){

ampm="AM";

}

el

溫馨提示

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

評論

0/150

提交評論