版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 知識(shí)不僅是指課本的內(nèi)容,還包括社會(huì)經(jīng)驗(yàn)、文明文化、時(shí)代精神等整體要素,才有競(jìng)爭(zhēng)力,知識(shí)是新時(shí)代的資本,五六十年代人靠勤勞可以成事;今天的香港要搶知識(shí),要以知識(shí)取勝</p><p><b> 游戲畢業(yè)設(shè)計(jì)論文 </b></p><p><b> 1.游戲設(shè)計(jì)背景</b></p><p> 隨著科技
2、與經(jīng)濟(jì)的快速發(fā)達(dá)</p><p><b> 知識(shí)經(jīng)濟(jì)的快速增長(zhǎng)</b></p><p> 娛樂(lè)逐漸變成人與智能的交流</p><p> 智能化的娛樂(lè)游戲在網(wǎng)絡(luò)里愈來(lái)愈好</p><p><b> 眾多的游戲不勝枚舉</b></p><p> 比如益智類的小游戲、騰訊
3、游戲、網(wǎng)頁(yè)游戲、格斗游戲、模擬游戲等</p><p> 尤其是最近網(wǎng)絡(luò)上特別流行的Flash制作的動(dòng)畫(huà)越來(lái)越受關(guān)注</p><p> 現(xiàn)在就探究下用Flash軟件制作貪吃蛇的游戲的設(shè)計(jì)原理</p><p><b> 1.1游戲設(shè)計(jì)原理</b></p><p> 游戲貪吃蛇就是在Flash軟件用影片剪輯設(shè)計(jì)出蛇&l
4、t;/p><p><b> 食物</b></p><p><b> 同時(shí)隨機(jī)地給出食物</b></p><p> 游戲者通過(guò)鍵盤(pán)操作控制貪吃蛇的移動(dòng)</p><p><b> 去吃食物</b></p><p><b> 吃到食物后消失&l
5、t;/b></p><p> 然后再隨機(jī)給出食物同時(shí)蛇的身體增長(zhǎng)</p><p> 設(shè)計(jì)蛇的原理就是利用人眼的視覺(jué)效應(yīng)先將蛇頭向前移動(dòng)一格</p><p> 然后所有蛇身依次向前移動(dòng)一格</p><p><b> 最后再擦除蛇尾</b></p><p> 這樣看來(lái)好像蛇在向前移動(dòng)&
6、lt;/p><p><b> 食物的給出</b></p><p> 首先需要產(chǎn)生一個(gè)隨機(jī)數(shù)</p><p> 然后通過(guò)這個(gè)隨機(jī)數(shù)計(jì)算得到食物的縱橫坐標(biāo)</p><p> 在軟件運(yùn)行效果里顯示出來(lái)</p><p><b> 控制蛇的移動(dòng)方向</b></p>
7、<p><b> 需要掃描鍵盤(pán)</b></p><p> 然后根據(jù)鍵值改變蛇的移動(dòng)方向</p><p> 1.2游戲設(shè)計(jì)的運(yùn)行環(huán)境</p><p><b> 學(xué)習(xí)Flash開(kāi)發(fā)</b></p><p> 首先要建立首要的、基礎(chǔ)的正確認(rèn)知</p><p>
8、 在幾乎任何應(yīng)用程序開(kāi)發(fā)中</p><p> 都要接觸到三個(gè)相互關(guān)聯(lián)的方面:一個(gè)是開(kāi)發(fā)環(huán)境</p><p><b> 一個(gè)是運(yùn)行環(huán)境</b></p><p><b> 再一個(gè)是開(kāi)發(fā)語(yǔ)言</b></p><p> 1.2.1軟件開(kāi)發(fā)環(huán)境</p><p> Flash應(yīng)
9、用程序開(kāi)發(fā)也包含著三個(gè)方面</p><p> 即使用Flash CS3作為開(kāi)發(fā)環(huán)境</p><p> 以ActionScript 2.0作為開(kāi)發(fā)語(yǔ)言</p><p> 以Flash Player 9為運(yùn)行環(huán)境進(jìn)行Flash應(yīng)用程序開(kāi)發(fā)和創(chuàng)作的完整知識(shí)體系</p><p> 對(duì)于Flash應(yīng)用程序開(kāi)發(fā)</p><p&
10、gt; 在進(jìn)行Flash開(kāi)發(fā)時(shí)</p><p> 安裝一個(gè)開(kāi)發(fā)工具(也被稱為開(kāi)發(fā)環(huán)境、創(chuàng)作環(huán)境等</p><p> 目前流行的Flash開(kāi)發(fā)工具基本都是Adobe公司的產(chǎn)品</p><p> 最著名的就是Flash CS3和FLEX</p><p><b> 1.2.2運(yùn)行環(huán)境</b></p>&
11、lt;p> WindowsMacintosh處理器800 MHz Intel Pentium III processor (or equivalent) and later600 MHz PowerPC G3 and later操作系統(tǒng)Windows 2000</p><p> Windows XPMac OS X 10.3</p><p> 10.4內(nèi)存25
12、6 MB RAM (1 GB recommended to run more than one Studio 8 product simultaneously)256 MB RAM (1 GB recommended to run more than one Studio 8 product simultaneously) 顯示1024 x 768</p><p> 16-bit display (32-
13、bit recommended)1024 x 768</p><p> thousands of colors display (millions of colors recommended) 磁盤(pán)空間710 MB available disk space360 MB available disk space1.2.3開(kāi)發(fā)語(yǔ)言</p><p> 用戶要進(jìn)行Flash開(kāi)發(fā)<
14、;/p><p> 要接觸是ActionScript(簡(jiǎn)稱AS)</p><p> ActionScript程序語(yǔ)言是用于Flash開(kāi)發(fā)的交互語(yǔ)言</p><p> ActionScript有三種語(yǔ)言編寫(xiě)風(fēng)格</p><p> 這就是AS1、AS2和AS3</p><p> AS1遵循ECMA-262第3版所制定的
15、規(guī)范</p><p> AS2遵循即將發(fā)布的ECMA-262第4版規(guī)范</p><p> 但它們的運(yùn)行環(huán)境只有一種</p><p> 即Flash Player VM(Adobe稱為AVM1</p><p> AVM是ActionScript虛擬機(jī)的簡(jiǎn)稱)</p><p> 2.游戲設(shè)計(jì)相關(guān)知識(shí)介紹</
16、p><p> 了解貪吃蛇的設(shè)計(jì)原理后</p><p> 接下來(lái)就是對(duì)設(shè)計(jì)游戲的一些相關(guān)理論知識(shí)基礎(chǔ)及深入點(diǎn)的分層次介紹</p><p> 2.1 Flash理論基礎(chǔ)知識(shí)要點(diǎn)</p><p> 2.1.1 基礎(chǔ)概念</p><p> (1)幀頻是動(dòng)畫(huà)播放的速度</p><p> 以每秒播放
17、的幀數(shù)為度量</p><p> 幀頻太慢會(huì)使動(dòng)畫(huà)看起來(lái)一頓一頓的</p><p> 幀頻太快會(huì)使動(dòng)畫(huà)的細(xì)節(jié)變得模糊</p><p><b> 在 Web 上</b></p><p> 每秒 12 幀 (fps) 的幀頻通常會(huì)得到最佳的效果</p><p> QuickTime 和 AVI
18、 影片通常的幀頻就是 12 fps</p><p> 但是標(biāo)準(zhǔn)的運(yùn)動(dòng)圖像速率是 24 fps</p><p> ?。?)將元件看作是一種模板</p><p> 使用同一個(gè)模板能夠創(chuàng)建多個(gè)實(shí)例</p><p> 對(duì)元件的實(shí)例可以做各種變換操作</p><p> 而這些操作不會(huì)對(duì)元件的各種屬性有所更改</p&
19、gt;<p> 也可以改變?cè)膶傩?lt;/p><p> 例如顏色、形狀以及邊線的粗細(xì)等</p><p> 當(dāng)對(duì)這些屬性加以修改后</p><p> 舞臺(tái)上的所有實(shí)例的相應(yīng)屬性也發(fā)生了變化</p><p> (3)影片剪輯擁有自身的、獨(dú)立于主影片的時(shí)間軸播放的多幀時(shí)間軸</p><p> 即可以
20、將影片剪輯看作主影片內(nèi)的小影片</p><p> 它可以包含交互式控件、聲音、甚至其他影片剪輯實(shí)例</p><p> 也可以將影片剪輯實(shí)例放置在按鈕元件的時(shí)間軸內(nèi)</p><p><b> 以創(chuàng)建動(dòng)畫(huà)按鈕</b></p><p> (4)點(diǎn)語(yǔ)法:_root:表示絕對(duì)路徑</p><p>&
21、lt;b> 他指的是時(shí)間主軸</b></p><p> _parent:表示當(dāng)前時(shí)間軸</p><p> 可以操控當(dāng)前時(shí)間軸上的對(duì)象等</p><p> 變量作用域分為全局變量、本地變量和時(shí)間軸變量</p><p> 2.1.2基本語(yǔ)法規(guī)則及簡(jiǎn)單注意事項(xiàng)</p><p> (1)變量、函數(shù)
22、、對(duì)象、操作符、保留關(guān)鍵字等語(yǔ)言元素</p><p><b> 有它自己的語(yǔ)法規(guī)則</b></p><p> ActionScript擁有自己的句法和標(biāo)點(diǎn)符號(hào)使用規(guī)則</p><p> 這些規(guī)則規(guī)定了一些字符和關(guān)鍵字的含義</p><p><b> 以及它們的書(shū)寫(xiě)順序</b></p&g
23、t;<p><b> 例如</b></p><p> 在英語(yǔ)中句號(hào)結(jié)束一個(gè)句子</p><p> 而在ActionScript中則用分號(hào)結(jié)束一個(gè)語(yǔ)句</p><p> (2)動(dòng)畫(huà)設(shè)計(jì)過(guò)程中的簡(jiǎn)單注意事項(xiàng)</p><p> ○1確保處在動(dòng)畫(huà)測(cè)試模式</p><p> ○2確
24、保不在多層中添加相互矛盾的幀動(dòng)作</p><p> ○3確保多個(gè)動(dòng)作腳本元素沒(méi)有使用相同的名字</p><p> ○4確保所有的目標(biāo)路徑以確保他們的正確無(wú)誤</p><p><b> 2.2面向?qū)ο缶幊?lt;/b></p><p> "對(duì)象" 是指屬性和方法的集合</p><p
25、> 每個(gè)對(duì)象都具有其各自的名稱</p><p> 并且都是特定類的實(shí)例</p><p><b> 相比較而言</b></p><p> 對(duì)象是一個(gè)形象具體的概念</p><p> 如生活中所使用的筆、紙張、書(shū)籍、計(jì)算機(jī)等</p><p><b> 都可稱之為對(duì)象<
26、/b></p><p><b> 而對(duì)于每個(gè)對(duì)象來(lái)說(shuō)</b></p><p> 它們都具有一些區(qū)別于其他對(duì)象的個(gè)體屬性</p><p> 如大小、形狀、顏色、使用方法等</p><p><b> 在面向?qū)ο缶幊讨?lt;/b></p><p><b> 類
27、定義對(duì)象的類別</b></p><p> 描述對(duì)象的屬性(數(shù)據(jù))和行為(方法)</p><p> 類是一個(gè)較為抽象的概念</p><p> 可以說(shuō)是對(duì)象概念的提升</p><p> 利用類可表現(xiàn)一組相關(guān)對(duì)象中某些公共的屬性和行為</p><p> 如果要使用類所定義的屬性和方法</p>
28、<p> 必須先創(chuàng)建該類的實(shí)例</p><p> 實(shí)例化對(duì)象其實(shí)就是指定某個(gè)特定的對(duì)象</p><p> 2.3游戲制作中常用函數(shù)的屬性與方法</p><p> 2.3.1 Mouse類</p><p> 使用Mouse類的方法可隱藏和顯示SWF文件中的鼠標(biāo)指針(光標(biāo))</p><p> 默認(rèn)
29、情況下鼠標(biāo)指針是可見(jiàn)的</p><p> 但是用戶可以將其隱藏并實(shí)現(xiàn)用影片剪輯創(chuàng)建的自定義指針</p><p> 方法名用法說(shuō)明Mouse.showMouse.show()在SWF文件中顯示鼠標(biāo)指針</p><p> 指針在默認(rèn)情況下可見(jiàn)Mouse.hideMouse.hide()隱藏SWF文件中的鼠標(biāo)指針Mouse.addListener
30、Mouse.addListener(newListener)注冊(cè)一個(gè)對(duì)象以接收onMouseDown、onMouseMove和onMouseUp通知</p><p> ?。▍?shù):newListener為一個(gè)對(duì)象)Mouse.removeListenerMouse.RemoveListener(listener)刪除用addListener方法注冊(cè)的對(duì)象</p><p> (參數(shù):
31、listener為一個(gè))MovieClip.onMouseDownMyMovieClip.onMouseDown當(dāng)按下鼠標(biāo)左鍵時(shí)調(diào)用MovieClip.onMouseMoveMyMovieClip.omMouseMove當(dāng)鼠標(biāo)移動(dòng)時(shí)調(diào)用MovieClip.onMouseUpMyMovieClip.onMouseUp當(dāng)釋放鼠標(biāo)左鍵時(shí)調(diào)用2.3.2 Key類</p><p> Key類是不通過(guò)構(gòu)
32、造函數(shù)即可使用其方法和屬性的頂級(jí)類</p><p> 使用Key類的方法可生成用戶能夠通過(guò)標(biāo)準(zhǔn)鍵盤(pán)控制的界面</p><p><b> 該類的屬性是常量</b></p><p> 表示控制游戲時(shí)最經(jīng)常使用的鍵</p><p> 方法名用法說(shuō)明Key.addListenerKey.addListener(n
33、ewListener)注冊(cè)一個(gè)對(duì)象</p><p> 以接收onKeyDown或onKeyUp的通知Key.getAsciiKey.getAscii()返回按下或釋放的最后一個(gè)按鍵的ASCII碼值Key.getCodeKey.getCode()返回最后一次按鍵的鍵控代碼值Key.isDownKey.isDown(keycode)判斷是否按下了參數(shù)keycode中指定的鍵</p>
34、<p> 若按下則返回True;否則將返回False</p><p> Key.isToggledKey.isToggled(keycode) 判斷CapsLock鍵或NumLock鍵是否處于激活狀態(tài)</p><p><b> 若是則返回True</b></p><p> Key.removeListenerKey.r
35、emoveListener(Ustener)刪除通過(guò)addListener方法注冊(cè)的對(duì)象</p><p><b> 若刪除成功</b></p><p> 則返回True;否則返回False</p><p> Key.onKeyDownsomeListener.onKeyDown當(dāng)按下某個(gè)按鍵時(shí)獲得通知Key.onKeyUpSom
36、eListener.onKeyUp當(dāng)釋放某個(gè)按鍵時(shí)獲得通知2.3.3 Button類</p><p> 按鈕是Flash影片中實(shí)現(xiàn)交互功能最常見(jiàn)的對(duì)象</p><p> SWF文件中的所有按鈕元件都是對(duì)象的實(shí)例</p><p> 用戶可在屬性檢查器中指定按鈕實(shí)例名稱</p><p> 并通過(guò)動(dòng)作腳本使用Button法和屬性來(lái)操縱按
37、鈕</p><p> 名稱用法說(shuō)明Button.onDragOutmyButton.onDragOut</p><p> 當(dāng)在按鈕上按下鼠標(biāo)按鍵</p><p><b> 并且不釋放按鍵時(shí)</b></p><p> 然后將鼠標(biāo)指針滑出按鈕時(shí)調(diào)用事件Button.onDragOvermyButton.o
38、nDragOver當(dāng)用戶在按鈕上按下鼠標(biāo)</p><p> 然后在不釋放按鍵的情況下將鼠標(biāo)指針拖到按鈕之外后</p><p> 再次將鼠標(biāo)指針移到按鈕上方時(shí)調(diào)用事件Button.onKeyDownmyButton.onKeyDown當(dāng)按下鍵盤(pán)上的某個(gè)按鍵時(shí)調(diào)用事件Button.onKeyUpmyButton.onKeyUp當(dāng)釋放鍵盤(pán)上的某個(gè)按鍵時(shí)調(diào)用事件Button.o
39、nPressmyButton.onPress當(dāng)在按鈕上按下鼠標(biāo)按鍵時(shí)調(diào)用事件Button.onReleasemyButton.onRelease當(dāng)用戶釋放鼠標(biāo)左鍵時(shí)調(diào)用事件2.3.4 MovieClip類</p><p> MovieClip中類的方法提供的功能與定位影片剪輯的動(dòng)作所提供的功能相同</p><p> 無(wú)需使用構(gòu)造函數(shù)方法即可調(diào)用MovieClip類的方法&
40、lt;/p><p> 用戶只需在語(yǔ)法中按名稱引用影片剪輯實(shí)例即可</p><p> 方法名與用法myMovieClip.attachMovie(idName</p><p><b> newName</b></p><p><b> depth[</b></p><p>
41、; initObject])</p><p> 從【庫(kù)】面板中取出一個(gè)元件</p><p> 并將其附加到舞臺(tái)上由MovieClip指定的影片中</p><p> myMovieClip.creatEmptyMovieClip(instanceName</p><p><b> depth)</b></p
42、><p> 為現(xiàn)有的影片剪輯元件實(shí)例創(chuàng)建子級(jí)的空影片剪輯元件實(shí)例</p><p> 新創(chuàng)建的空影片剪輯的注冊(cè)點(diǎn)為左上角</p><p> myMovieClip.createTextField(instanceName</p><p><b> depth</b></p><p><b&
43、gt; x</b></p><p><b> y</b></p><p><b> width</b></p><p><b> height)</b></p><p> 創(chuàng)建現(xiàn)有影片剪輯元件實(shí)例的子級(jí)空文本字段</p><p>
44、 myMovieClip.duplicateMovieClip(newname</p><p><b> depth[</b></p><p> initObject]) </p><p><b> 在影片播放時(shí)</b></p><p> 復(fù)制指定影片剪輯元件的實(shí)例</p>&
45、lt;p> myMovieClip.gotoAndPlay(frame) 跳轉(zhuǎn)到指定幀并開(kāi)始播放影片</p><p> myMovieClip.gotoAndStop(frame) 將播放頭跳轉(zhuǎn)到指定的幀</p><p><b> 并停止影片的播放</b></p><p> myMovieClip.hitTest
46、(x</p><p><b> y</b></p><p> shapeFlag) MovieClip.hitTest(target)</p><p> 判斷指定的實(shí)例是否與標(biāo)識(shí)的點(diǎn)擊區(qū)域或target重疊或交叉</p><p> myMovieClip.loadMovie("url"[&l
47、t;/p><p> variables])</p><p> 在播放原始SWF影片時(shí)</p><p> 將外部SWF或JPEG文件加載到FlashPlayer中的影片剪輯中</p><p> myMovieClip.removeMovieClip()</p><p> 刪除使用duplicateMovieclip
48、動(dòng)作或MovieClip對(duì)duplicateMovieclip或attachMovie方法創(chuàng)建的影片剪輯元件實(shí)例</p><p> myMovieClip.unloadMovie() 刪除使用loadMovie或attachMovie方法加載的影片剪輯元件實(shí)例</p><p> MovieClip類的事件處理函數(shù)的八種狀態(tài)</p><p> 名稱用法說(shuō)明
49、MovieClip.onDatamyMovieClip.onData</p><p> 當(dāng)影片剪輯元件實(shí)例通過(guò)loadVariables或loadMovie方法調(diào)用接收數(shù)據(jù)時(shí)調(diào)用事件MovieClip.onKeyDownmyMovieClip.onKeyDown當(dāng)影片剪輯元件實(shí)例設(shè)置了輸入焦點(diǎn)</p><p> 并且有按鍵被按下時(shí)調(diào)用事件MovieClip.onKeyUp
50、myMovieClip.onKeyUp當(dāng)鍵盤(pán)按鍵被釋放時(shí)調(diào)用事件MovieClip.onMouseDownmyMovieClip.onMouseDown當(dāng)鼠標(biāo)左鍵按下時(shí)調(diào)用事件ovieClip.onMouseMovemyMovieClip.onMouseMove當(dāng)移動(dòng)鼠標(biāo)時(shí)調(diào)用事件MovieClip.onMouseUpmyMovieClip.onMouseUp當(dāng)釋放鼠標(biāo)時(shí)調(diào)用事件MovieClip.onPress
51、myMovieClip.onPress當(dāng)用戶在指定的影片剪輯元件實(shí)例上按下鼠標(biāo)左鍵時(shí)調(diào)用事件MovieClip.onReleasemyMovieClip.onRelease當(dāng)用戶在指定的影片剪輯元件實(shí)例上釋放鼠標(biāo)左鍵時(shí)調(diào)用事件2.3.5 Sound類與Math類</p><p> Math類的方法和屬性可以訪問(wèn)和處理數(shù)學(xué)常數(shù)和函數(shù)</p><p> Math類的所有屬性和方
52、法都是靜態(tài)的</p><p> 并且必須使用語(yǔ)法Math.method(parameter)或Math.constant來(lái)調(diào)用</p><p> 游戲中食物的隨機(jī)出現(xiàn)就是利用了math函數(shù)里的隨機(jī)函數(shù)</p><p> 游戲里的背景音樂(lè)還有對(duì)聲音圖標(biāo)的控制也就是通過(guò)面向?qū)ο缶幊汤锏腟ound類函數(shù)來(lái)控制實(shí)現(xiàn)的</p><p> 名稱
53、用法說(shuō)明Sound.attachSoundmySound.attachSound("idName")將指定標(biāo)識(shí)符名稱的聲音文件附加到Sound對(duì)象中Sound.startmySound.start([secondOffset</p><p> loop])指定聲音文件的播放Sound.stopSound.stop(["idName"])當(dāng)指定了要停止播
54、放的聲音時(shí)</p><p> 將停止該聲音的播放;若未指定idName參數(shù)</p><p> 則停止當(dāng)前所有聲音的播放Sound.setVolumemySound.setVolume(volume)設(shè)置Sound對(duì)象的音量Sound.loadSoundmySound.loadSound("url"</p><p> isStrea
55、ming)將MP3聲音文件加載到Sound對(duì)象的實(shí)例中2.3.6 Array類</p><p> 通過(guò)Array 類用戶可以訪問(wèn)和操縱數(shù)組</p><p><b> 數(shù)組是一個(gè)對(duì)象</b></p><p> 其屬性由表示該屬性在數(shù)組中位置的數(shù)字來(lái)標(biāo)識(shí)</p><p><b> 此數(shù)字稱為"
56、;索引"</b></p><p><b> 所有數(shù)組都從零開(kāi)始</b></p><p> 這意味著數(shù)組中的第一個(gè)元素為 [0]</p><p> 第二個(gè)元素為 [1]</p><p><b> 依此類推</b></p><p> 方法說(shuō)明A
57、rray.concat()連接參數(shù)</p><p> 并將其作為新數(shù)組返回Array.join()將數(shù)組內(nèi)的所有元素聯(lián)接為一個(gè)字符串Array.pop()刪除數(shù)組中最后一個(gè)元素</p><p> 并返回該元素的值A(chǔ)rray.push()將一個(gè)或多個(gè)元素添加到數(shù)組的結(jié)尾</p><p> 并返回該數(shù)組的新長(zhǎng)度Array.reverse()倒轉(zhuǎn)數(shù)
58、組的方向Array.shift()刪除數(shù)組中第一個(gè)元素</p><p> 并返回該元素的值屬性說(shuō)明Array.length指定數(shù)組中元素?cái)?shù)量的非從零開(kāi)始的整數(shù)</p><p> 3. 制作貪吃蛇游戲的整體規(guī)劃</p><p> 3.1貪吃蛇游戲的大致結(jié)構(gòu)圖</p><p> 3.2游戲設(shè)計(jì)整體構(gòu)思</p>
59、<p><b> 首先場(chǎng)景規(guī)劃</b></p><p> 主要有兩個(gè):一個(gè)是游戲封面</p><p><b> 一個(gè)是游戲運(yùn)行界面</b></p><p><b> 其次是電影影片剪輯</b></p><p><b> 主要有蛇</b>
60、</p><p><b> 食物</b></p><p><b> 背景設(shè)計(jì)等</b></p><p> 按鈕及文字屬性都有自己的實(shí)例名</p><p><b> 便于腳本控制</b></p><p> 最后對(duì)整體的進(jìn)行核心代碼編寫(xiě)與控制<
61、;/p><p> 在軟件環(huán)境里運(yùn)行并調(diào)試</p><p><b> 發(fā)現(xiàn)問(wèn)題</b></p><p><b> 分析并解決</b></p><p><b> 最后發(fā)布游戲</b></p><p> 3.3透視游戲設(shè)計(jì)的核心重點(diǎn)算法</p>
62、;<p> 貪吃蛇的核心算法是如何實(shí)現(xiàn)移動(dòng)和吃掉食物</p><p><b> 沒(méi)有碰到食物的時(shí)候</b></p><p><b> 貪吃蛇繼續(xù)移動(dòng)</b></p><p><b> 吃到食物的時(shí)候</b></p><p><b> 蛇身增長(zhǎng)&
63、lt;/b></p><p> 咬住蛇身或蛇尾的時(shí)候</p><p><b> 能夠暫停和開(kāi)始</b></p><p><b> 讓游戲繼續(xù)下去</b></p><p><b> 食物隨機(jī)出現(xiàn)</b></p><p><b>
64、貪吃蛇繼續(xù)游動(dòng)</b></p><p><b> 并記錄游戲所得分?jǐn)?shù)</b></p><p> 3.4游戲設(shè)計(jì)核心重點(diǎn)函數(shù)控制</p><p> (1)新建一個(gè)數(shù)組來(lái)保存當(dāng)前的蛇的身體aPieceList = new Array();</p><p> ?。?)定義mouseListener對(duì)象來(lái)偵聽(tīng)鼠
65、標(biāo)的onMouseDown點(diǎn)擊事件</p><p> mouseListener = new Object();mouseListener.onMouseDown = function(){函數(shù)體};</p><p> ?。?)addPiece函數(shù)的作用是調(diào)用一段身體來(lái)增長(zhǎng)蛇身</p><p> ?。?)moveFood函數(shù)的作用是當(dāng)碰撞到食物的時(shí)候移動(dòng)食物的位置
66、</p><p> ?。?)startGame是腳本中重要的一部分</p><p><b> 包括蛇的移動(dòng)</b></p><p><b> 碰撞和增加蛇身</b></p><p> 4. 游戲詳細(xì)設(shè)計(jì)與核心技術(shù)</p><p> 4.1游戲的詳細(xì)設(shè)計(jì)</p&g
67、t;<p><b> 實(shí)現(xiàn)游戲</b></p><p> 主要的目的就是場(chǎng)景的布局及影片剪輯的在舞臺(tái)中的動(dòng)畫(huà)實(shí)現(xiàn)</p><p> 重點(diǎn)腳本代碼的實(shí)現(xiàn)后臺(tái)控制角色的運(yùn)動(dòng)</p><p> 主要的設(shè)計(jì)內(nèi)容就是如下步驟所示:</p><p> 4.1.1 游戲的設(shè)計(jì)的內(nèi)容 </p>&
68、lt;p> (1) 新建一個(gè)300*500的文檔;</p><p> ?。?)設(shè)置文檔屬性中的幀頻為12(設(shè)置的更高游戲的速度更快);</p><p><b> ?。?)新建兩個(gè)場(chǎng)景</b></p><p> 分別命名為:sceneOne、sceneTwo;</p><p> ?。?)分別對(duì)兩個(gè)場(chǎng)景設(shè)置背景效果
69、</p><p><b> 是風(fēng)格獨(dú)具一格</b></p><p><b> 注重色彩的搭配;</b></p><p> ?。?)設(shè)置主題文字效果</p><p> 并為每個(gè)場(chǎng)景創(chuàng)建影片剪輯與按鈕;</p><p> (6)為幀和按鈕添加事件</p>&
70、lt;p><b> 腳本代碼;</b></p><p><b> ?。?)測(cè)試影片</b></p><p><b> 保存并發(fā)布</b></p><p> 4.1.2游戲影片剪輯的設(shè)計(jì)</p><p> 場(chǎng)景1(sceneOne):</p><
71、p><b> (1)封面背景</b></p><p> ?。?)設(shè)計(jì)封面主題文字與游戲規(guī)則</p><p> ?。?)添加"游戲進(jìn)入"按鈕</p><p><b> 并為該按鈕添加:</b></p><p> on(release){gotoAndPlay("
72、;sceneTwo"</p><p><b> 1);}</b></p><p> 場(chǎng)景2(sceneTwo):</p><p><b> (1)游戲運(yùn)行背景</b></p><p> 風(fēng)格是手機(jī)類狀的墨綠背景</p><p> ?。?)新建一層"
73、屏幕"</p><p> 在舞臺(tái)上畫(huà)個(gè)無(wú)邊框的矩形</p><p><b> 漸變填充色</b></p><p> 具體屬性如下:W:300 H:300 X:0 Y:0 </p><p><b> ?。?)選擇文本工具</b></p><p> 在屬性
74、面板中設(shè)置為動(dòng)態(tài)文本</p><p> 在矩形的正下方放置一個(gè)動(dòng)態(tài)文本來(lái)顯示所得的分?jǐn)?shù)</p><p> 文本中寫(xiě)上"start"</p><p><b> 設(shè)置字體和顏色</b></p><p> 實(shí)例名稱為"tScore"</p><p> ?。?/p>
75、4)按下ctrl+F8</p><p> 命名為"piece"</p><p> 設(shè)置他的屬性為影片剪輯</p><p><b> 點(diǎn)擊"高級(jí)"按鈕</b></p><p> 選擇"為ActionScript導(dǎo)出"</p><p>
76、; 那個(gè)標(biāo)示符自動(dòng)地被設(shè)置為"piece"</p><p><b> ?。?)選擇橢圓工具</b></p><p> 在當(dāng)前的舞臺(tái)上畫(huà)一個(gè)正圓并設(shè)置如下屬性:</p><p> W:15 H:15 X:0 Y:0</p><p><b> ?。?)作為蛇的身體</b>
77、</p><p><b> 不想用圓形</b></p><p><b> 其他圖形也可</b></p><p> 但是要保持它的高寬都是15</p><p><b> 方法同上</b></p><p> 制作一個(gè)標(biāo)示符為food的影片剪輯<
78、;/p><p> (7)選擇橢圓工具在舞臺(tái)上畫(huà)一個(gè)圓形</p><p><b> 并設(shè)置為如下屬性:</b></p><p> W:15 H:15 X:0 Y:0作為蛇所吃到的食物來(lái)增長(zhǎng)身體</p><p> 也可在不修改高寬的情況下進(jìn)行任意的修改</p><p> 4.2游戲的核心技
79、術(shù)</p><p><b> 4.2.1腳本函數(shù)</b></p><p><b> (</b></p><p> canMove = true; //可以運(yùn)動(dòng)</p><p> sta候后onMouseDown事件函數(shù)被激活</p><p> k = new Obj
80、ect();</p><p><b> k.</b></p><p><b> }</b></p><p><b> };</b></p><p><b> 在制作游戲的時(shí)候</b></p><p> 最先考慮的問(wèn)題之一就
81、是如何是游戲中的動(dòng)畫(huà)畫(huà)面智能化</p><p><b> 要做到這一點(diǎn)</b></p><p> 最終的目標(biāo)是要使Flash文本友好</p><p><b> 容易編輯和擴(kuò)展</b></p><p><b> 在制作項(xiàng)目設(shè)計(jì)時(shí)</b></p><p&
82、gt; 主要是素材搜集及理論知識(shí)的鞏固與升華</p><p><b> 首先</b></p><p><b> 一旦確定目標(biāo)</b></p><p> 就盡量思考項(xiàng)目的設(shè)計(jì)原理與背景</p><p><b> 其次要詳細(xì)規(guī)劃</b></p><p&
83、gt;<b> 分工明細(xì)原則</b></p><p> 弄懂該如何利用理論基礎(chǔ)知識(shí)要點(diǎn)去實(shí)現(xiàn)看似簡(jiǎn)單的制作</p><p><b> 最后</b></p><p><b> 在綜合的實(shí)驗(yàn)過(guò)程中</b></p><p> 努力提高綜合素質(zhì)及分析問(wèn)題解決問(wèn)題的能力<
84、/p><p> 從而對(duì)軟件應(yīng)用方面會(huì)有更深刻的認(rèn)知與開(kāi)拓</p><p> 盡量提升專業(yè)素質(zhì)修養(yǎng)</p><p><b> 透過(guò)現(xiàn)象看本質(zhì)</b></p><p><b> 找到一些規(guī)律</b></p><p> 讓自己的學(xué)識(shí)由量到質(zhì)變的過(guò)程</p>&l
85、t;p> 綜合能力的提高進(jìn)而為進(jìn)入社會(huì)做了更好的準(zhǔn)備工作</p><p> 簡(jiǎn)單的貪吃蛇游戲由蛇頭、蛇身、蛇尾、食物為主角</p><p><b> 游戲控制中</b></p><p><b> 食物一旦吃到</b></p><p><b> 蛇身就增加一段</b&g
86、t;</p><p><b> 而后食物隨機(jī)出現(xiàn)</b></p><p><b> 蛇又運(yùn)動(dòng)</b></p><p><b> 循環(huán)往復(fù)</b></p><p> 直至蛇頭咬住自己的身體某一部位</p><p><b> 游戲終止&l
87、t;/b></p><p> 可見(jiàn)控制中增加了對(duì)軟件高級(jí)語(yǔ)言編程的應(yīng)用</p><p><b> 比如隨機(jī)函數(shù)</b></p><p><b> 數(shù)組</b></p><p><b> 自定義函數(shù)</b></p><p><b>
88、 影片剪輯事件等</b></p><p><b> 最后綜合在一起應(yīng)用</b></p><p> 除了考慮核心函數(shù)和局部函數(shù)的主次分配</p><p> 還要預(yù)先初定義一些變量</p><p><b> 便于控制整個(gè)游戲</b></p><p> 最后
89、對(duì)軟件的熟練操作</p><p><b> 實(shí)現(xiàn)最終游戲的實(shí)現(xiàn)</b></p><p><b> ??</b></p><p><b> ??</b></p><p><b> ??</b></p><p><b>
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 游戲畢業(yè)設(shè)計(jì)論文
- 掃雷游戲畢業(yè)設(shè)計(jì)論文
- 掃雷游戲畢業(yè)設(shè)計(jì)論文
- 游戲設(shè)計(jì)美工畢業(yè)設(shè)計(jì)論文
- 安卓游戲畢業(yè)設(shè)計(jì)論文
- 24點(diǎn)游戲畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)(論文)+手機(jī)游戲開(kāi)發(fā)-java畢業(yè)論文
- 跑酷游戲畢業(yè)設(shè)計(jì)論文.doc
- 畢業(yè)設(shè)計(jì)論文 java 24點(diǎn)游戲設(shè)計(jì)
- 基于android數(shù)獨(dú)游戲設(shè)計(jì)_畢業(yè)設(shè)計(jì)論文
- 跑酷游戲畢業(yè)設(shè)計(jì)(論文)初稿.doc
- 【畢業(yè)設(shè)計(jì)論文】基于c語(yǔ)言推箱子游戲設(shè)計(jì)畢業(yè)論文
- 跑酷游戲畢業(yè)設(shè)計(jì)(論文)文獻(xiàn)翻譯.doc
- flash游戲畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--java游戲設(shè)計(jì)
- 掃雷游戲畢業(yè)設(shè)計(jì)
- android游戲畢業(yè)設(shè)計(jì)
- 象棋游戲畢業(yè)設(shè)計(jì)
- 超級(jí)游戲畢業(yè)設(shè)計(jì)
- 連連看java小游戲畢業(yè)設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論