Flash動(dòng)畫(huà)制作課程設(shè)計(jì)報(bào)告.doc
《Flash動(dòng)畫(huà)制作課程設(shè)計(jì)報(bào)告.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《Flash動(dòng)畫(huà)制作課程設(shè)計(jì)報(bào)告.doc(35頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
Flash動(dòng)畫(huà)制作設(shè)計(jì)報(bào)告 學(xué) 院 專 業(yè) 班 級(jí) 學(xué) 號(hào) 姓 名 成 績(jī) 題目名稱 1.設(shè)計(jì)目標(biāo) 闡述該Flash動(dòng)畫(huà)的設(shè)計(jì)意圖和創(chuàng)意,簡(jiǎn)單介紹動(dòng)畫(huà)內(nèi)容。 2.設(shè)計(jì)思想 闡述該動(dòng)畫(huà)的設(shè)計(jì)方案,對(duì)動(dòng)畫(huà)的設(shè)計(jì)思路進(jìn)行闡述和分析。 3設(shè)計(jì)步驟 對(duì)該動(dòng)畫(huà)的設(shè)計(jì)實(shí)現(xiàn)過(guò)程進(jìn)行闡述和分析,詳細(xì)說(shuō)明制作該動(dòng)畫(huà)的步驟,所使用的對(duì)象以及該對(duì)象的操作方法。 4設(shè)計(jì)小結(jié) 對(duì)整個(gè)設(shè)計(jì)報(bào)告做歸納性總結(jié),并分析設(shè)計(jì)過(guò)程中的困難及如何解決的,最后提出展望。 基于As3.0的“青蛙跳”游戲的設(shè)計(jì)與實(shí)現(xiàn) 1、 設(shè)計(jì)目標(biāo): 本次設(shè)計(jì)是制作的一個(gè)測(cè)試智力的小游戲--“青蛙跳”。通過(guò)單擊鼠標(biāo)移動(dòng)兩邊的青蛙,讓左邊的小青蛙與右邊的小青蛙位置互換,其中包括兩個(gè)動(dòng)畫(huà)效果,一個(gè)是跳,另一個(gè)是躍,他們都是通過(guò)逐幀動(dòng)畫(huà)來(lái)實(shí)現(xiàn)。而要使兩邊的青蛙互換,就要通過(guò)Actionscript3.0語(yǔ)句進(jìn)行控制,最終效果如下圖: 游戲開(kāi)始界面: 游戲完成界面: 2、 設(shè)計(jì)方案: 這個(gè)動(dòng)畫(huà)可以按照繪制背景、創(chuàng)建元件、布局場(chǎng)景和添加Actionscript語(yǔ)句4個(gè)步驟來(lái)完成,首先需要繪制一個(gè)荷塘月色的背景畫(huà)面,然后在繪制該動(dòng)畫(huà)中要出現(xiàn)的“動(dòng)畫(huà)角色”,如青蛙等,并將場(chǎng)景中的元件、圖形放置在相應(yīng)的位置,最后在為對(duì)象添加動(dòng)作語(yǔ)句,其中最重要的步驟就是添加Actionscript語(yǔ)句,它是實(shí)現(xiàn)這個(gè)游戲的關(guān)鍵所在,它是根據(jù)整個(gè)游戲規(guī)則來(lái)編輯的。其游戲規(guī)則是:只要前面有空位置,青蛙就能跳到該位置上,且一次只能跳一格,或越過(guò)一個(gè)障礙跳一格,但不能反向跳動(dòng)。直到左邊的青蛙與右邊的青蛙位置互換才算成功。中途若單擊到不能跳或不能躍的青蛙,或者玩到無(wú)退路的情況,可單擊“再來(lái)一次”從新開(kāi)始游戲。 3、 設(shè)計(jì)步驟: (1) 、制作背景: 使用Flash cs5.5 面板中的基本繪圖工具繪制游戲中的背景,并填充多彩的顏色,主要應(yīng)用的知識(shí)點(diǎn)包括Flash動(dòng)畫(huà)的基礎(chǔ)知識(shí)、繪圖與編輯圖形、填充顏色以及圖層的基本操作。 具體步驟如下: 1、 新建一個(gè)Flash文件(Actionscript3.0),設(shè)置大小為750*300像素,將背景顏色設(shè)置為白色。保存文件,命名為“青蛙跳.fla”。 2、 在圖層1中使用矩形工具在場(chǎng)景中畫(huà)一個(gè)矩形(750*150)代表夜空,并設(shè)置矩形大小和顏色。 3、 在夜空中(剛才所繪制的矩形)繪制一些白色點(diǎn)和一個(gè)圓代表星星和月亮。 4、 在用矩形工具在場(chǎng)景中繪制矩形(750*150)代表小河,并設(shè)置顏色和大小。 5、 在小河中繪制一個(gè)白色線條作為河水,并繪制一些小草形狀的圖形,設(shè)置小草的填充顏色,并將小草復(fù)制多個(gè),移動(dòng)到河邊,然后再河邊繪制草堆和土坡。 6、 繪制的背景圖片的最終效果如下圖所示: (2) 、創(chuàng)建元件: 創(chuàng)建動(dòng)畫(huà)中的主要原件:青蛙跳的影片剪輯元件、再來(lái)一次的按鈕元件、青蛙跳的臺(tái)階元件等。 (1) 、先將所繪制的背景圖片轉(zhuǎn)換為圖形元件 Ctrl+A選中場(chǎng)景中所有圖形,按F8將其轉(zhuǎn)換為圖形元件并,命名為“背景”。 (2) 、創(chuàng)建“再來(lái)一次”的按鈕元件: (3)、創(chuàng)建一個(gè)“過(guò)關(guān)”的圖形元件: (4) 、創(chuàng)建名為“按鈕與文件”的影片剪輯元件: 將“再來(lái)一次”按鈕和“過(guò)關(guān)”圖形,以及事先導(dǎo)入到庫(kù)中的“l(fā)ihua.gif”圖片,拖入場(chǎng)景,并設(shè)置按鈕的濾鏡效果中,如下圖: (5) 、創(chuàng)建“臺(tái)階”影片剪輯元件: 在場(chǎng)景中用矩形工具繪制一個(gè)大小為“51*20”像素的矩形,邊框?yàn)楹谏? (6) 、創(chuàng)建“青蛙”影片剪輯元件: 創(chuàng)建“青蛙”元件,在圖層1第一幀處繪制青蛙的大致形狀并填充顏色,命名圖層1為“身體”,在1-10幀出分別繪制青蛙不同的動(dòng)作和位置,作為“跳”的動(dòng)作;新建圖層2,命名為“身體2”,在圖層2的11-20幀繪制青蛙的不同動(dòng)作和位置,作為“躍”的動(dòng)作,如下圖所示: (7) 、同步驟(6)創(chuàng)建一個(gè)“青蛙1”影片剪輯元件,將青蛙身體設(shè)置成另外的顏色: 效果如下圖所示: (3) 、場(chǎng)景布局: 將整個(gè)動(dòng)畫(huà)中所用到的元件拖放到場(chǎng)景中,與背景相搭配、映襯,并為某些元件設(shè)置濾鏡,使之看起來(lái)有立體感。再在屬性面板中為某些需要添加語(yǔ)句的元件實(shí)例命名,具體步驟如下。 創(chuàng)建“青蛙圖層”和“臺(tái)階圖層” 將“青蛙”和“青蛙1”從左至右相對(duì)放置,并命名為f1,f2,f3,f4,f5,f6。將“臺(tái)階”從左至右放置,放置7個(gè),每?jī)蓚€(gè)之間大概100像素距離,并命名為p1,p2,p3,p4,p5,p6,p7。 創(chuàng)建“復(fù)位圖層”和“重新開(kāi)始圖層” 將按鈕元件“再來(lái)一次”放到“復(fù)位圖層”,并實(shí)例名為“reset”。將“按鈕和文字”元件放到“重新開(kāi)始圖層”實(shí)例名為“success”。如下圖所示: (4) 、添加Actionscript語(yǔ)句: 在庫(kù)面板中雙擊“青蛙”元件,在圖層的最上面,新建一個(gè)Actionscript的圖層。 在第1幀處輸入以代碼: Stop(); 在第10幀處插入關(guān)鍵幀,輸入以下代碼,表示青蛙的“x”距離增加100,并跳到第1幀開(kāi)始播放: this.x+=100; this.gotoAndPlay(1); 在第20幀處插入關(guān)鍵幀,輸入以下代碼,表示青蛙的“x”距離增加200,并跳到第1幀開(kāi)始播放: this.x+=200; this.gotoAndPlay(1); 效果如下圖所示: 同理在庫(kù)面板中雙擊“青蛙1”設(shè)置相同的代碼: 回到主場(chǎng)景,并在主場(chǎng)景中最上面新建一個(gè)“Actionscript圖層”,在第一幀處輸入以下代碼: stop(); success.replay.addEventListener(MouseEvent.CLICK,resetit); reset.addEventListener(MouseEvent.CLICK, resetit); function resetit(evt:MouseEvent){ init(); } function init(){ p1.sta=1; p2.sta=1; p3.sta=1; p4.sta=0; p5.sta=2; p6.sta=2; p7.sta=2; f1.mp=1; f2.mp=2; f3.mp=3; f4.mp=5; f5.mp=6; f6.mp=7; f1.x=166; f2.x=262; f3.x=365.7; f4.x=437.45; f5.x=538.45; f6.x=637.47; //“青蛙”與“青蛙1”元件實(shí)例在場(chǎng)景中的坐標(biāo)位置“x” reset.visible=true; success.visible=false; } init(); //下面這段代碼表示青蛙只能跳一格,越過(guò)一個(gè)障礙跳一格,且不能反向跳動(dòng),如果跳躍成功,則顯示按鈕與文字元件。 f1.addEventListener(MouseEvent.CLICK, clickHandler1); function clickHandler1(event:MouseEvent){ howto(1); } f2.addEventListener(MouseEvent.CLICK, clickHandler2); function clickHandler2(event:MouseEvent){ howto(2); } f3.addEventListener(MouseEvent.CLICK, clickHandler3); function clickHandler3(event:MouseEvent){ howto(3); } f4.addEventListener(MouseEvent.CLICK, clickHandler4); function clickHandler4(event:MouseEvent){ howto2(4); } f5.addEventListener(MouseEvent.CLICK, clickHandler5); function clickHandler5(event:MouseEvent){ howto2(5); } f6.addEventListener(MouseEvent.CLICK, clickHandler6); function clickHandler6(event:MouseEvent){ howto2(6); } function howto(i:int){ var nowpos=(getChildByName("f"+i) as MovieClip).getMp() if(nowpos+1<8 && !(getChildByName("p"+(nowpos+1)) as MovieClip).getSta()){ (getChildByName("f"+i) as MovieClip).moveit(); (getChildByName("f"+i) as MovieClip).mp+=1; (getChildByName("p"+(nowpos+1)) as MovieClip).sta=1; (getChildByName("p"+nowpos) as MovieClip).sta=0; iscomplete(); } else if(nowpos+2<8 && !(getChildByName("p"+(nowpos+2)) as MovieClip).getSta()){ (getChildByName("f"+i) as MovieClip).jumpit(); (getChildByName("f"+i) as MovieClip).mp+=2; (getChildByName("p"+(nowpos+2)) as MovieClip).sta=1; (getChildByName("p"+nowpos) as MovieClip).sta=0; iscomplete(); } else { trace("不能"); } } function howto2(i:int){ var nowpos=(getChildByName("f"+i) as MovieClip).getMp() if(nowpos-1>0 && !(getChildByName("p"+(nowpos-1)) as MovieClip).getSta()){ (getChildByName("f"+i) as MovieClip).moveit(); (getChildByName("f"+i) as MovieClip).mp-=1; (getChildByName("p"+(nowpos-1)) as MovieClip).sta=2; (getChildByName("p"+nowpos) as MovieClip).sta=0; iscomplete(); } else if(nowpos-2>0 && !(getChildByName("p"+(nowpos-2)) as MovieClip).getSta()){ (getChildByName("f"+i) as MovieClip).jumpit(); (getChildByName("f"+i) as MovieClip).mp-=2; (getChildByName("p"+(nowpos-2)) as MovieClip).sta=2; (getChildByName("p"+nowpos) as MovieClip).sta=0; iscomplete(); } else { trace("不能"); } } function iscomplete(){ if(p1.sta==2) if(p2.sta==2) if(p3.sta==2) if(p4.sta==0) if(p5.sta==1) if(p6.sta==1) if(p7.sta==1) //return true; {reset.visible=false; success.visible=true; } } 除了這上面的代碼外,還需要對(duì)“青蛙”、“青蛙1”和“臺(tái)階”等元件分別編寫(xiě)相應(yīng)的代碼,與主動(dòng)畫(huà)時(shí)間軸的代碼相對(duì)應(yīng),具體操作如下: (1) 打開(kāi)新建文檔,新建一個(gè)“Actionscript文件”,另存為“frog.as”,用相同方法創(chuàng)建另外兩個(gè)Actionscript文件分別命名為:“frog1”和“pos”。 (2) 打開(kāi)“frog.as”文件,輸入以下代碼: package{ import flash.display.MovieClip; import flash.display.Sprite; import flash.events.MouseEvent; public class frog extends MovieClip{ public function frog():void{ this.buttonMode=true; } public function moveit(){ this.gotoAndPlay(1); } public function jumpit(){ this.gotoAndPlay(11); } public var mp:int; public function getMp(){ return mp; } } } (3) 、打開(kāi)“frog1.as”文件,在其窗口中輸入以下代碼: package{ import flash.display.MovieClip; import flash.display.Sprite; import flash.events.MouseEvent; public class frog1 extends MovieClip{ public function frog1():void{ this.buttonMode=true; } public function moveit(){ this.gotoAndPlay(1); } public function jumpit(){ this.gotoAndPlay(11); } public var mp:int; public function getMp(){ return mp; } } } (4) 、打開(kāi)“pos.as”文件,在其窗口中輸入如下代碼: package{ import flash.display.MovieClip; import flash.display.Sprite; public class pos extends MovieClip{ public var sta:int; public function pos():void{ } public function getSta(){ return sta; } } } (5) 、在“庫(kù)”面板中用鼠標(biāo)右鍵單擊“青蛙”元件,在彈出的快捷菜單中選中“屬性”命令,展開(kāi)“高級(jí)”選項(xiàng),再打開(kāi)的“鏈接屬性”對(duì)話框中選中“為ActionScript導(dǎo)出”復(fù)選框,在“類”文本框中輸入“frog”,將元件與類鏈接起來(lái)。如圖: (6) 、同理將“青蛙1”元件與“frog1”類連接起來(lái),將“臺(tái)階”元件與“pos” 鏈接起來(lái)。 到此所有的設(shè)計(jì)階段就做完了,接下來(lái)就是游戲的運(yùn)行和結(jié)果分析。 4、 設(shè)計(jì)結(jié)果分析: 游戲的運(yùn)行結(jié)果如下: 當(dāng)點(diǎn)擊不能跳或者躍的青蛙時(shí)會(huì)在輸出面板中輸出“不能” 5、 設(shè)計(jì)小結(jié): 這次設(shè)計(jì)其實(shí)是一個(gè)比較簡(jiǎn)單的小游戲的制作,通過(guò)本次設(shè)計(jì)讓我對(duì)Flash cs5.5這個(gè)軟件的操作更加熟練,對(duì)Flash交互式動(dòng)畫(huà)制作的步驟有了進(jìn)一步的掌握,對(duì)As3.0的編程語(yǔ)言及編程方法也有了一定掌握。再游戲場(chǎng)景的編排上,為了使游戲看起來(lái)更加美觀大方,所有的場(chǎng)景和布局都根據(jù)相應(yīng)的主題進(jìn)行制作,使顏色與主題相符合,讓玩家在視覺(jué)上首先有所享受,然后通過(guò)在游戲中的操作,體會(huì)游戲的樂(lè)趣。 在編寫(xiě)青蛙動(dòng)作的程序時(shí),想了很久,不知道如何才能讓青蛙檢測(cè)前面是否有另外一只青蛙,是跳還是躍,其中出現(xiàn)多不少錯(cuò)誤,最后通過(guò)上網(wǎng)查資料和還有到圖書(shū)館借書(shū),都一一解決,本次設(shè)計(jì)收獲很大,讓我對(duì)flash的學(xué)習(xí)更加感興趣,以后定更加努力學(xué)習(xí)flash的動(dòng)畫(huà)制作、游戲制作,體會(huì)其中的樂(lè)趣。 基于As3.0的“青蛙跳”游戲的設(shè)計(jì)與實(shí)現(xiàn) 6、 設(shè)計(jì)目標(biāo): 本次設(shè)計(jì)是制作的一個(gè)測(cè)試智力的小游戲--“青蛙跳”。通過(guò)單擊鼠標(biāo)移動(dòng)兩邊的青蛙,讓左邊的小青蛙與右邊的小青蛙位置互換,其中包括兩個(gè)動(dòng)畫(huà)效果,一個(gè)是跳,另一個(gè)是躍,他們都是通過(guò)逐幀動(dòng)畫(huà)來(lái)實(shí)現(xiàn)。而要使兩邊的青蛙互換,就要通過(guò)Actionscript3.0語(yǔ)句進(jìn)行控制,最終效果如下圖: 游戲開(kāi)始界面: 游戲完成界面: 7、 設(shè)計(jì)方案: 這個(gè)動(dòng)畫(huà)可以按照繪制背景、創(chuàng)建元件、布局場(chǎng)景和添加Actionscript語(yǔ)句4個(gè)步驟來(lái)完成,首先需要繪制一個(gè)荷塘月色的背景畫(huà)面,然后在繪制該動(dòng)畫(huà)中要出現(xiàn)的“動(dòng)畫(huà)角色”,如青蛙等,并將場(chǎng)景中的元件、圖形放置在相應(yīng)的位置,最后在為對(duì)象添加動(dòng)作語(yǔ)句,其中最重要的步驟就是添加Actionscript語(yǔ)句,它是實(shí)現(xiàn)這個(gè)游戲的關(guān)鍵所在,它是根據(jù)整個(gè)游戲規(guī)則來(lái)編輯的。其游戲規(guī)則是:只要前面有空位置,青蛙就能跳到該位置上,且一次只能跳一格,或越過(guò)一個(gè)障礙跳一格,但不能反向跳動(dòng)。直到左邊的青蛙與右邊的青蛙位置互換才算成功。中途若單擊到不能跳或不能躍的青蛙,或者玩到無(wú)退路的情況,可單擊“再來(lái)一次”從新開(kāi)始游戲。 8、 設(shè)計(jì)步驟: (3) 、制作背景: 使用Flash cs5.5 面板中的基本繪圖工具繪制游戲中的背景,并填充多彩的顏色,主要應(yīng)用的知識(shí)點(diǎn)包括Flash動(dòng)畫(huà)的基礎(chǔ)知識(shí)、繪圖與編輯圖形、填充顏色以及圖層的基本操作。 具體步驟如下: 7、 新建一個(gè)Flash文件(Actionscript3.0),設(shè)置大小為750*300像素,將背景顏色設(shè)置為白色。保存文件,命名為“青蛙跳.fla”。 8、 在圖層1中使用矩形工具在場(chǎng)景中畫(huà)一個(gè)矩形(750*150)代表夜空,并設(shè)置矩形大小和顏色。 9、 在夜空中(剛才所繪制的矩形)繪制一些白色點(diǎn)和一個(gè)圓代表星星和月亮。 10、 在用矩形工具在場(chǎng)景中繪制矩形(750*150)代表小河,并設(shè)置顏色和大小。 11、 在小河中繪制一個(gè)白色線條作為河水,并繪制一些小草形狀的圖形,設(shè)置小草的填充顏色,并將小草復(fù)制多個(gè),移動(dòng)到河邊,然后再河邊繪制草堆和土坡。 12、 繪制的背景圖片的最終效果如下圖所示: (4) 、創(chuàng)建元件: 創(chuàng)建動(dòng)畫(huà)中的主要原件:青蛙跳的影片剪輯元件、再來(lái)一次的按鈕元件、青蛙跳的臺(tái)階元件等。 (3) 、先將所繪制的背景圖片轉(zhuǎn)換為圖形元件 Ctrl+A選中場(chǎng)景中所有圖形,按F8將其轉(zhuǎn)換為圖形元件并,命名為“背景”。 (4) 、創(chuàng)建“再來(lái)一次”的按鈕元件: (3)、創(chuàng)建一個(gè)“過(guò)關(guān)”的圖形元件: (8) 、創(chuàng)建名為“按鈕與文件”的影片剪輯元件: 將“再來(lái)一次”按鈕和“過(guò)關(guān)”圖形,以及事先導(dǎo)入到庫(kù)中的“l(fā)ihua.gif”圖片,拖入場(chǎng)景,并設(shè)置按鈕的濾鏡效果中,如下圖: (9) 、創(chuàng)建“臺(tái)階”影片剪輯元件: 在場(chǎng)景中用矩形工具繪制一個(gè)大小為“51*20”像素的矩形,邊框?yàn)楹谏? (10) 、創(chuàng)建“青蛙”影片剪輯元件: 創(chuàng)建“青蛙”元件,在圖層1第一幀處繪制青蛙的大致形狀并填充顏色,命名圖層1為“身體”,在1-10幀出分別繪制青蛙不同的動(dòng)作和位置,作為“跳”的動(dòng)作;新建圖層2,命名為“身體2”,在圖層2的11-20幀繪制青蛙的不同動(dòng)作和位置,作為“躍”的動(dòng)作,如下圖所示: (11) 、同步驟(6)創(chuàng)建一個(gè)“青蛙1”影片剪輯元件,將青蛙身體設(shè)置成另外的顏色: 效果如下圖所示: (5) 、場(chǎng)景布局: 將整個(gè)動(dòng)畫(huà)中所用到的元件拖放到場(chǎng)景中,與背景相搭配、映襯,并為某些元件設(shè)置濾鏡,使之看起來(lái)有立體感。再在屬性面板中為某些需要添加語(yǔ)句的元件實(shí)例命名,具體步驟如下。 創(chuàng)建“青蛙圖層”和“臺(tái)階圖層” 將“青蛙”和“青蛙1”從左至右相對(duì)放置,并命名為f1,f2,f3,f4,f5,f6。將“臺(tái)階”從左至右放置,放置7個(gè),每?jī)蓚€(gè)之間大概100像素距離,并命名為p1,p2,p3,p4,p5,p6,p7。 創(chuàng)建“復(fù)位圖層”和“重新開(kāi)始圖層” 將按鈕元件“再來(lái)一次”放到“復(fù)位圖層”,并實(shí)例名為“reset”。將“按鈕和文字”元件放到“重新開(kāi)始圖層”實(shí)例名為“success”。如下圖所示: (6) 、添加Actionscript語(yǔ)句: 在庫(kù)面板中雙擊“青蛙”元件,在圖層的最上面,新建一個(gè)Actionscript的圖層。 在第1幀處輸入以代碼: Stop(); 在第10幀處插入關(guān)鍵幀,輸入以下代碼,表示青蛙的“x”距離增加100,并跳到第1幀開(kāi)始播放: this.x+=100; this.gotoAndPlay(1); 在第20幀處插入關(guān)鍵幀,輸入以下代碼,表示青蛙的“x”距離增加200,并跳到第1幀開(kāi)始播放: this.x+=200; this.gotoAndPlay(1); 效果如下圖所示: 同理在庫(kù)面板中雙擊“青蛙1”設(shè)置相同的代碼: 回到主場(chǎng)景,并在主場(chǎng)景中最上面新建一個(gè)“Actionscript圖層”,在第一幀處輸入以下代碼: stop(); success.replay.addEventListener(MouseEvent.CLICK,resetit); reset.addEventListener(MouseEvent.CLICK, resetit); function resetit(evt:MouseEvent){ init(); } function init(){ p1.sta=1; p2.sta=1; p3.sta=1; p4.sta=0; p5.sta=2; p6.sta=2; p7.sta=2; f1.mp=1; f2.mp=2; f3.mp=3; f4.mp=5; f5.mp=6; f6.mp=7; f1.x=166; f2.x=262; f3.x=365.7; f4.x=437.45; f5.x=538.45; f6.x=637.47; //“青蛙”與“青蛙1”元件實(shí)例在場(chǎng)景中的坐標(biāo)位置“x” reset.visible=true; success.visible=false; } init(); //下面這段代碼表示青蛙只能跳一格,越過(guò)一個(gè)障礙跳一格,且不能反向跳動(dòng),如果跳躍成功,則顯示按鈕與文字元件。 f1.addEventListener(MouseEvent.CLICK, clickHandler1); function clickHandler1(event:MouseEvent){ howto(1); } f2.addEventListener(MouseEvent.CLICK, clickHandler2); function clickHandler2(event:MouseEvent){ howto(2); } f3.addEventListener(MouseEvent.CLICK, clickHandler3); function clickHandler3(event:MouseEvent){ howto(3); } f4.addEventListener(MouseEvent.CLICK, clickHandler4); function clickHandler4(event:MouseEvent){ howto2(4); } f5.addEventListener(MouseEvent.CLICK, clickHandler5); function clickHandler5(event:MouseEvent){ howto2(5); } f6.addEventListener(MouseEvent.CLICK, clickHandler6); function clickHandler6(event:MouseEvent){ howto2(6); } function howto(i:int){ var nowpos=(getChildByName("f"+i) as MovieClip).getMp() if(nowpos+1<8 && !(getChildByName("p"+(nowpos+1)) as MovieClip).getSta()){ (getChildByName("f"+i) as MovieClip).moveit(); (getChildByName("f"+i) as MovieClip).mp+=1; (getChildByName("p"+(nowpos+1)) as MovieClip).sta=1; (getChildByName("p"+nowpos) as MovieClip).sta=0; iscomplete(); } else if(nowpos+2<8 && !(getChildByName("p"+(nowpos+2)) as MovieClip).getSta()){ (getChildByName("f"+i) as MovieClip).jumpit(); (getChildByName("f"+i) as MovieClip).mp+=2; (getChildByName("p"+(nowpos+2)) as MovieClip).sta=1; (getChildByName("p"+nowpos) as MovieClip).sta=0; iscomplete(); } else { trace("不能"); } } function howto2(i:int){ var nowpos=(getChildByName("f"+i) as MovieClip).getMp() if(nowpos-1>0 && !(getChildByName("p"+(nowpos-1)) as MovieClip).getSta()){ (getChildByName("f"+i) as MovieClip).moveit(); (getChildByName("f"+i) as MovieClip).mp-=1; (getChildByName("p"+(nowpos-1)) as MovieClip).sta=2; (getChildByName("p"+nowpos) as MovieClip).sta=0; iscomplete(); } else if(nowpos-2>0 && !(getChildByName("p"+(nowpos-2)) as MovieClip).getSta()){ (getChildByName("f"+i) as MovieClip).jumpit(); (getChildByName("f"+i) as MovieClip).mp-=2; (getChildByName("p"+(nowpos-2)) as MovieClip).sta=2; (getChildByName("p"+nowpos) as MovieClip).sta=0; iscomplete(); } else { trace("不能"); } } function iscomplete(){ if(p1.sta==2) if(p2.sta==2) if(p3.sta==2) if(p4.sta==0) if(p5.sta==1) if(p6.sta==1) if(p7.sta==1) //return true; {reset.visible=false; success.visible=true; } } 除了這上面的代碼外,還需要對(duì)“青蛙”、“青蛙1”和“臺(tái)階”等元件分別編寫(xiě)相應(yīng)的代碼,與主動(dòng)畫(huà)時(shí)間軸的代碼相對(duì)應(yīng),具體操作如下: (4) 打開(kāi)新建文檔,新建一個(gè)“Actionscript文件”,另存為“frog.as”,用相同方法創(chuàng)建另外兩個(gè)Actionscript文件分別命名為:“frog1”和“pos”。 (5) 打開(kāi)“frog.as”文件,輸入以下代碼: package{ import flash.display.MovieClip; import flash.display.Sprite; import flash.events.MouseEvent; public class frog extends MovieClip{ public function frog():void{ this.buttonMode=true; } public function moveit(){ this.gotoAndPlay(1); } public function jumpit(){ this.gotoAndPlay(11); } public var mp:int; public function getMp(){ return mp; } } } (6) 、打開(kāi)“frog1.as”文件,在其窗口中輸入以下代碼: package{ import flash.display.MovieClip; import flash.display.Sprite; import flash.events.MouseEvent; public class frog1 extends MovieClip{ public function frog1():void{ this.buttonMode=true; } public function moveit(){ this.gotoAndPlay(1); } public function jumpit(){ this.gotoAndPlay(11); } public var mp:int; public function getMp(){ return mp; } } } (7) 、打開(kāi)“pos.as”文件,在其窗口中輸入如下代碼: package{ import flash.display.MovieClip; import flash.display.Sprite; public class pos extends MovieClip{ public var sta:int; public function pos():void{ } public function getSta(){ return sta; } } } (8) 、在“庫(kù)”面板中用鼠標(biāo)右鍵單擊“青蛙”元件,在彈出的快捷菜單中選中“屬性”命令,展開(kāi)“高級(jí)”選項(xiàng),再打開(kāi)的“鏈接屬性”對(duì)話框中選中“為ActionScript導(dǎo)出”復(fù)選框,在“類”文本框中輸入“frog”,將元件與類鏈接起來(lái)。如圖: (9) 、同理將“青蛙1”元件與“frog1”類連接起來(lái),將“臺(tái)階”元件與“pos” 鏈接起來(lái)。 到此所有的設(shè)計(jì)階段就做完了,接下來(lái)就是游戲的運(yùn)行和結(jié)果分析。 9、 設(shè)計(jì)結(jié)果分析: 游戲的運(yùn)行結(jié)果如下: 當(dāng)點(diǎn)擊不能跳或者躍的青蛙時(shí)會(huì)在輸出面板中輸出“不能” 10、 設(shè)計(jì)小結(jié): 這次設(shè)計(jì)其實(shí)是一個(gè)比較簡(jiǎn)單的小游戲的制作,通過(guò)本次設(shè)計(jì)讓我對(duì)Flash cs5.5這個(gè)軟件的操作更加熟練,對(duì)Flash交互式動(dòng)畫(huà)制作的步驟有了進(jìn)一步的掌握,對(duì)As3.0的編程語(yǔ)言及編程方法也有了一定掌握。再游戲場(chǎng)景的編排上,為了使游戲看起來(lái)更加美觀大方,所有的場(chǎng)景和布局都根據(jù)相應(yīng)的主題進(jìn)行制作,使顏色與主題相符合,讓玩家在視覺(jué)上首先有所享受,然后通過(guò)在游戲中的操作,體會(huì)游戲的樂(lè)趣。 在編寫(xiě)青蛙動(dòng)作的程序時(shí),想了很久,不知道如何才能讓青蛙檢測(cè)前面是否有另外一只青蛙,是跳還是躍,其中出現(xiàn)多不少錯(cuò)誤,最后通過(guò)上網(wǎng)查資料和還有到圖書(shū)館借書(shū),都一一解決,本次設(shè)計(jì)收獲很大,讓我對(duì)flash的學(xué)習(xí)更加感興趣,以后定更加努力學(xué)習(xí)flash的動(dòng)畫(huà)制作、游戲制作,體會(huì)其中的樂(lè)趣。 嚴(yán)歌苓說(shuō),人之間的關(guān)系不一定從陌生進(jìn)展為熟識(shí),從熟識(shí)走向陌生,同樣是正常進(jìn)展。 人與人之間的緣分,遠(yuǎn)沒(méi)有想像中的那么牢固,也許前一秒鐘還牽手一起經(jīng)歷風(fēng)雨,后一秒就說(shuō)散就散,所以,你要懂得善待和珍惜。 人與人相處,講究個(gè)真心,你對(duì)我好,我就對(duì)你好,你給予真情,我還你真意,人心是相互的。 兩個(gè)人在一起,總會(huì)有人主動(dòng),但主動(dòng)久了,就會(huì)累,會(huì)傷心,心傷了就暖不回來(lái)了,凡事多站在對(duì)方的角度想一想,多一份忍耐和謙就,就不會(huì)有那么多的怨氣和誤解,也少了一些擦肩而過(guò)。 做人不要太苛刻,太苛無(wú)友,人無(wú)完人,每個(gè)人都有這樣或那樣的缺點(diǎn),重在包容。 包容是一種大度,整天笑呵呵的人并不是他沒(méi)有脾氣和煩惱,而是心胸開(kāi)闊,兩個(gè)懂得相互包容的人,才能走得越久。 人與人相處,要多一份真誠(chéng),俗語(yǔ)說(shuō),你真我便真。常算計(jì)別人的人,總以為自己有多聰明,孰不知被欺騙過(guò)的人,就會(huì)選擇不再相信,千萬(wàn)別拿人性來(lái)試人心,否則你會(huì)輸?shù)皿w無(wú)完膚。 人與人相處不要太較真,生活中我們常常因?yàn)橐痪湓挾鵂?zhēng)辯的面紅耳赤,你聲音大,我比你嗓門(mén)還大,古人說(shuō),有理不在聲高,很多時(shí)候,讓人臣服的不是靠嘴,而是靠真誠(chéng),無(wú)論是朋友親人愛(ài)人都不要太較真了,好好說(shuō)話,也是一種修養(yǎng)。 俗語(yǔ)說(shuō),良言一句三冬暖, 你對(duì)我好,我又豈能不知,你謙讓與我,我又怎能再得寸進(jìn)尺,你欣賞我,我就有可能越變?cè)胶?,你尊重我,我也?huì)用尊重來(lái)回報(bào)你,你付出愛(ài),必會(huì)得到更多的愛(ài)。 與人相處,要多一份和善,切忌惡語(yǔ)相向,互相傷害就有可能永遠(yuǎn)失去彼此,每個(gè)人心中都有一座天平,每個(gè)人心中都藏一份柔軟,表面再?gòu)?qiáng)勢(shì)的人,內(nèi)心也是渴求溫暖的。 做人要學(xué)會(huì)謙虛,虛懷若谷。人人都喜歡和謙虛的人交往,司馬懿說(shuō):“臣一路走來(lái),沒(méi)有敵人,看見(jiàn)的都是朋友和師長(zhǎng)”.這就是胸懷。 有格局的人,心中藏有一片海,必能前路開(kāi)闊,又何愁無(wú)友。 人與人相處,開(kāi)始讓人舒服的也許是你的言語(yǔ)和外表,但后來(lái)讓人信服的一定是你的內(nèi)在。就如那句,欣賞一個(gè)人,始于顏值,敬于才華,合于性格,久于善良,終于人品。 人這一生,遇見(jiàn)相同的人不容易,遇見(jiàn)正確的人更不容易,只有選擇了合適的相處方式,帶上真誠(chéng)與人相處,才會(huì)走得更長(zhǎng),更遠(yuǎn)更久。 人與人相處,要多一份真誠(chéng),俗語(yǔ)說(shuō),你真我便真。常算計(jì)別人的人,總以為自己有多聰明,孰不知被欺騙過(guò)的人,就會(huì)選擇不再相信,千萬(wàn)別拿人性來(lái)試人心,否則你會(huì)輸?shù)皿w無(wú)完膚。 人與人相處不要太較真,生活中我們常常因?yàn)橐痪湓挾鵂?zhēng)辯的面紅耳赤,你聲音大,我比你嗓門(mén)還大,古人說(shuō),有理不在聲高,很多時(shí)候,讓人臣服的不是靠嘴,而是靠真誠(chéng),無(wú)論是朋友親人愛(ài)人都不要太較真了,好好說(shuō)話,也是一種修養(yǎng)。 俗語(yǔ)說(shuō),良言一句三冬暖, 你對(duì)我好,我又豈能不知,你謙讓與我,我又怎能再得寸進(jìn)尺,你欣賞我,我就有可能越變?cè)胶?,你尊重我,我也?huì)用尊重來(lái)回報(bào)你,你付出愛(ài),必會(huì)得到更多的愛(ài)。 與人相處,要多一份和善,切忌惡語(yǔ)相向,互相傷害就有可能永遠(yuǎn)失去彼此,每個(gè)人心中都有一座天平,每個(gè)人心中都藏一份柔軟,表面再?gòu)?qiáng)勢(shì)的人,內(nèi)心也是渴求溫暖的。 做人要學(xué)會(huì)謙虛,虛懷若谷。人人都喜歡和謙虛的人交往,司馬懿說(shuō):“臣一路走來(lái),沒(méi)有敵人,看見(jiàn)的都是朋友和師長(zhǎng)”.這就是胸懷。 有格局的人,心中藏有一片海,必能前路開(kāi)闊,又何愁無(wú)友。 人與人相處,開(kāi)始讓人舒服的也許是你的言語(yǔ)和外表,但后來(lái)讓人信服的一定是你的內(nèi)在。就如那句,欣賞一個(gè)人,始于顏值,敬于才華,合于性格,久于善良,終于人品。- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Flash 動(dòng)畫(huà) 制作 課程設(shè)計(jì) 報(bào)告
鏈接地址:http://m.appdesigncorp.com/p-8768814.html