版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 畢業(yè)設計(論文)說明書</p><p> 課題名稱 xxxxxxxxxxxxxxxxx</p><p> 系 別 xxx </p><p> 專 業(yè) xxx </p><p> 班 級 xxx </p>
2、<p> 學 號 xxx </p><p> 姓 名 xxx </p><p> 指導教師 xxx </p><p><b> 項目簡介</b></p><p> 隨著現(xiàn)代科技的高速發(fā)展短短幾十年,電腦游戲得到迅
3、猛發(fā)展。電腦游戲充分利用多媒體網(wǎng)絡優(yōu)勢,拓寬了傳統(tǒng)游戲的界限,給人們帶來全新的體驗。在這些游戲中,F(xiàn)LASH游戲以其好看的動畫,絢麗的聲光效果,高度的通暢性,及很強的可玩性,而受到廣大青少年的青睞。本文就一款名為“反向漂移”的FLASH游戲的設計和實現(xiàn)進行分析和闡述。該游戲主要使用Adobe Flash Professional CS4軟件進行游戲的設計,是一款操作簡單、休閑益智的網(wǎng)頁游戲。游戲主角是兩個相互旋轉的球,當一個停下后另一個
4、會圍繞它旋轉,它們之間有一條線相連,當用鼠標點擊游戲的界面時正在旋轉的球會停止下來,而另一個球就會旋轉運動。鍵盤的左右鍵也可以控制游戲主角的旋轉運動。游戲共有九個關卡,每個關卡都有不同的物品,碰到不同的物品會有不同的反映:有的會得到分數(shù)、有的會使游戲主角喪失生命、有的會使游戲主角停止運動、有的會使游戲主角反向運動等等。每一關都有需要游戲主角在規(guī)定時間內(nèi),碰完所需要的球才能進入下一關。只有通關才能進入排行榜,留下自己的名字和成績。<
5、/p><p> Project Synopsis</p><p> With the rapid development of modern science and technology only lasts for a few decades, computer games rapid development. Computer games make full use of multim
6、edia network advantage, and widened the limits of traditional games, bring people a whole new experience. In these games, FLASH game with its nice animation, gorgeous sound and light effect, the height of the unobstructe
7、d sex, and strong can play sex, and by the the young people of all ages. This paper called a "rotating brothers" FLASH</p><p><b> 目錄</b></p><p><b> 項目簡介I</b>
8、</p><p> Project SynopsisII</p><p> 目錄……………………………………………………………………………………III</p><p><b> 1.緒論1</b></p><p> 1.1 設計內(nèi)容1</p><p> 1.2 FLASH游戲現(xiàn)狀和
9、展望1</p><p><b> 2.游戲分析1</b></p><p> 2.1 游戲簡介2</p><p> 2.2 需求分析2</p><p> 2.3 游戲特點4</p><p> 3.游戲開發(fā)相關技術5</p><p> 3.1 FLASH
10、游戲開發(fā)簡介5</p><p> 3.2 游戲開發(fā)原則6</p><p> 3.3 面向對像程序編程簡介7</p><p><b> 4.游戲設計9</b></p><p> 4.1 角色設計9</p><p> 4.2 場景設計9</p><p>
11、 4.3 界面設計17</p><p> 4.4 規(guī)則設計17</p><p> 4.5 數(shù)據(jù)管理18</p><p><b> 5.游戲開發(fā)22</b></p><p> 5.1 開發(fā)思路22</p><p> 5.2 游戲編程22</p><p>
12、 5.3 游戲制作分工27</p><p><b> 總結29</b></p><p><b> 致謝30</b></p><p><b> 參考文獻31</b></p><p><b> 1 緒論</b></p><
13、;p><b> 1.1 設計內(nèi)容 </b></p><p> 一款FLASH小游戲,玩家通過一個相互旋轉的球在地面上行走,并對地面上的物體進行碰撞得分的小游戲。</p><p> 1.2 FLASH游戲開發(fā)現(xiàn)狀和展望</p><p> FLASH游戲是一種新興起的游戲形式,以游戲簡單,操作方便,綠色,無需安裝,文件體積小等優(yōu)點現(xiàn)在
14、漸漸被廣大網(wǎng)友喜愛。FLASH游戲又叫FLASH 小游戲,因為FLASH游戲主要應用于一些趣味化的、小型的游戲之上,以完全發(fā)揮它基于矢量圖的優(yōu)勢。FLASH游戲在游戲形式上的表現(xiàn)與傳統(tǒng)游戲基本無異,但主要生存于網(wǎng)絡之上,因為它的體積小、傳播快、畫面美觀,所以大有取代傳統(tǒng)web網(wǎng)游的趨勢,現(xiàn)在國內(nèi)外用FLASH制作無端網(wǎng)游已經(jīng)成為一種趨勢,只要瀏覽器安裝了ADOBE的Flash player,就可以玩所有的Flash游戲了,這比傳統(tǒng)的we
15、b網(wǎng)游進步許多。</p><p> FLASH是開發(fā)的網(wǎng)頁富媒體及強交互技術,最初用來研發(fā)交互式或動畫網(wǎng)站組件,近幾年獲得了突飛猛進的發(fā)展。根據(jù)Adobe公司的統(tǒng)計,其互聯(lián)網(wǎng)PC桌面普及率達到了驚人的99%,而JAVA為85.1%。目前FLASH更在大力向PDA及智能手機終端發(fā)展。</p><p><b> 2 游戲分析</b></p><p
16、><b> 2.1 游戲簡介</b></p><p> 游戲主角是兩個相互旋轉的球,當一個停下后另一個會圍繞它旋轉,它們之間有一條線相連,當用鼠標點擊游戲的界面時正在旋轉的球會停止下來,而另一個球就會旋轉運動。鍵盤的左右鍵也可以控制游戲主角的旋轉運動。游戲共有九個關卡,每個關卡都有不同的物品,碰到不同的物品會有不同的反映;有的會得到分數(shù)、有的會使游戲主角喪失生命、有的會使游戲主角停
17、止運動、有的會使游戲主角反向運動等等。每一關都有需要游戲主角在規(guī)定時間內(nèi),碰完所需要的球才能進入下一關。只有通關才能進入排行榜,留下自己的名字和成績。</p><p><b> 2.2 需求分析</b></p><p> 現(xiàn)今我們走進了信息時代,隨著互聯(lián)網(wǎng)的普及,人們的生活方式發(fā)生了巨大的改變。網(wǎng)上購物、網(wǎng)上交友、網(wǎng)上沖浪等等,成為了現(xiàn)代生活的重要組成部分。[2]
18、根據(jù)瑞典互聯(lián)網(wǎng)市場研究公司Royal Pingdom與2012年1月份發(fā)表的2011全球互聯(lián)網(wǎng)發(fā)展現(xiàn)狀報告,全球互聯(lián)網(wǎng)用戶達21億,對于2012年,互聯(lián)網(wǎng)毫無疑問會繼續(xù)發(fā)展。隨著人們把更多的私人生活和商務生活安排到互聯(lián)網(wǎng)上,人們將在一些以往不可想象的方面依賴于互聯(lián)網(wǎng)。無論好與壞,互聯(lián)網(wǎng)現(xiàn)在已經(jīng)成為幾乎一切事物的重要因素。而網(wǎng)上的休閑娛樂方式更是給人們的帶來了極大地樂趣。據(jù)文化部2012年發(fā)布的《2011中國網(wǎng)絡游戲市場年度報告》,中國網(wǎng)
19、絡游戲市場規(guī)模(包括互聯(lián)網(wǎng)游戲和移動網(wǎng)游戲市場)為468.5億元,其中互聯(lián)網(wǎng)游戲為429.8億元,互聯(lián)網(wǎng)游戲用戶總數(shù)突破1.6億人,其中,網(wǎng)頁游戲用戶持續(xù)增長,規(guī)模為1.45億人,增長率達24%。而FLASH小游戲又是網(wǎng)頁游戲的主要組成部分,由此可以看出Flash小游戲的巨大發(fā)展?jié)摿?。下面我就從用戶的角度分析一下網(wǎng)頁游戲的需求:</p><p><b> 2.2.1 挑戰(zhàn)</b></
20、p><p> 挑戰(zhàn)在競技類游戲中體現(xiàn)得淋漓盡致。隨著網(wǎng)絡游戲的流行,多種游戲例如大型多人在線游戲和休閑競技類游戲中,競技形式豐富多樣,玩家在一起切磋技藝,或同心協(xié)力挑戰(zhàn)一個兇猛強大的BOSS,有些玩家已經(jīng)把這些作為自己的長年的工作,職業(yè)戰(zhàn)隊每年吸引著無數(shù)的頂尖玩家參與其中,就像F1比賽一樣。有些玩家則在游戲中組成自己的公會或戰(zhàn)隊,花費數(shù)周、數(shù)月為最先戰(zhàn)勝一個boss不斷地嘗試,關鍵時候經(jīng)常通宵達旦地進行,他們有專門
21、的即時語音通信系統(tǒng)、專業(yè)的網(wǎng)站、鐵桿玩家、嚴明的制度、苛刻的入會條件、分工明確的職業(yè)、思維靈活的戰(zhàn)隊指揮,在歐美,有些公會戰(zhàn)勝BOSS后,還能在網(wǎng)上出售攻略。競技游戲職業(yè)戰(zhàn)隊出現(xiàn)得較早,大型多人在線游戲中的,競技系統(tǒng)做得好的游戲的玩家中,出現(xiàn)了專業(yè)的團隊。</p><p><b> 2.2.2 交流</b></p><p> 交流在游戲中以多種形式呈現(xiàn),其中至少包
22、括聊天、交友、郵件和組隊系統(tǒng)。這些系統(tǒng)使得玩家認識越來越多的朋友,在這些系統(tǒng)上聊天、組隊、發(fā)郵件,其便捷程度絲毫不亞于游戲MSN等即時聊天系統(tǒng)。</p><p> 但是有些游戲將交流內(nèi)容限制在游戲內(nèi)容內(nèi),甚至在用戶協(xié)議中寫明,不得討論游戲外的內(nèi)容,例如:”我姐姐買了一輛新車”之類的話題都是被禁止的。但最終目的是強調(diào)不破壞游戲氛圍。實際上,玩家在游戲中交流的內(nèi)容主要還是游戲內(nèi)的,例如交流戰(zhàn)法等。</p>
23、;<p><b> 2.2.3 成就 </b></p><p> 成就系統(tǒng)讓玩家不斷獲得裝備、聲望、金錢、經(jīng)驗、技能、榮譽、稱號、寵物、魔法道具、材料等的系統(tǒng),玩家一邊玩,一邊獲得收益,玩家將會持續(xù)地沉浸在游戲世界中,也是游戲最容易黏住用戶的地方,但這個結果對健康不見得有益,長時間游戲對于青少年是不健康的。因此,防沉迷系統(tǒng)被強制推行。</p><p>
24、;<b> 2.2.4 幻想</b></p><p> 虛擬的游戲世界中,游戲設計者可以充分地發(fā)揮幻想,用戶也可以體驗到現(xiàn)實中沒有的內(nèi)容。例如角色長了翅膀,或把敵人變成可愛的綿羊,或當上了國王。這些都是體驗的形式。</p><p> 2.2.5 消遣休閑</p><p> 這種價值主要針對上班族(實際上,學生們也同樣享受著這種待遇),工
25、作之余,找一個世外空間,在這個空間里,可以隨心所欲地游蕩在虛擬世界,也沒有人管束。游戲過程中,經(jīng)常獲得各種各樣的些獎勵,比起迷茫地閑逛、觀看枯燥無味的電視節(jié)目,更讓人興奮。</p><p> 2.2.6 故事體驗</p><p> 游戲內(nèi)必定承載一定內(nèi)容的故事,這些故事可以和和影視節(jié)目或小說中的故事一樣,但體驗更為直接,玩家身臨其境,親自扮演故事中的角色。</p><
26、;p> 2.2.7 獲得知識</p><p> 人類進入快速發(fā)展時期后,知識傳播更為快速,知識不斷地改進著人們的生活。如果有種方式,寓教于樂,那么這種方式必然是最容易接受的,游戲能很好地解決這個問題,那游戲就是健康的,可以是有益而無害的。在網(wǎng)絡游戲對青少年成長造成各種的影響的今天,這種可以讓人獲得知識的健康的游戲形式,是游戲的最好出路。</p><p> 2.2.8 收獲快樂&
27、lt;/p><p> 幽默詼諧的故事最容易讓讓大眾接受。讓觀眾或用戶能笑起來,生活總是樂觀地態(tài)度,少一些抑郁,多一些歡樂,社會更和諧。</p><p> 2.2.9 滿足審美需求</p><p> 藝術是人類以感情和想象作為特性的把握世界的一種特殊方式,即通過審美創(chuàng)造活動再現(xiàn)現(xiàn)實和表現(xiàn)情感理想,在想象中實現(xiàn)審美主體和審美客體的互相對象化。具體說,他們是人們現(xiàn)實生活
28、和精神世界的形象反映,也是藝術家知覺、情感、理想、意念綜合心理活動的有機產(chǎn)物。作為第九藝術,同樣具備滿足人類審美需求的功能。</p><p><b> 2.3 游戲特點</b></p><p> 首先,游戲簡單易操控,只需點擊屏幕就可操控。其次,益智,需要在規(guī)定時間內(nèi)將需要碰撞的球消失掉,需要每一步都要計算最佳落腳位置。再者,有行走的動感,關卡背景會隨著游戲角色的
29、移動而移動。每一關卡都有新的東西加入進來,有的可以使主角反向旋轉,有的會使主角停止運動。不同的東西被主角碰到后會有不同的反應。</p><p> 3 游戲開發(fā)相關技術</p><p> 3.1 FLASH游戲開發(fā)簡介</p><p> 我就從Flash的基本情況、歷史發(fā)展和設計方式簡單介紹一下什么是Flash。并了解一下游戲開發(fā)。</p>&l
30、t;p> 3.1.1 FLASH簡介</p><p> FLASH是一種創(chuàng)作工具計算機軟件,目前最新的零售版本為Adobe Flash CS5.5 Professional(2011年發(fā)布),現(xiàn)在已經(jīng)有FLASH CS6 Professional提供測試版本的下載。Adobe FLASH Professional CS5為創(chuàng)建數(shù)字動畫和交互式Web站點提供了功能全面的創(chuàng)作和編輯環(huán)境。FLASH廣泛用于創(chuàng)
31、建吸引人的應用程序,它們包含豐富 的視頻、聲音、圖形和動畫。可以在FLASH中創(chuàng)建原始內(nèi)容或者從其它Adobe應用程序(如Photoshop或Illustrator)導入它們,快速設計簡單的動畫,以及使用Adobe AcitonScript 3.0開發(fā)高級的交互式項目。設計人員和開發(fā)人員可使用它來創(chuàng)建演示文稿、應用程序和其它允許用戶交互的內(nèi)容。FLASH可以包含簡單的動畫、視頻內(nèi)容、復雜演示文稿和應用程序以及介于它們之間的任何內(nèi)容。通常
32、,使用FLASH創(chuàng)作的各個內(nèi)容單元稱為應用程序,即使它們可能只是很簡單的動畫。也可以通過添加圖片、聲音、視頻和特殊效果,構建包含豐富媒體的FLASH應用程序。 </p><p> 3.1.2 FLASH歷史簡介</p><p> FLASH的前身是Future Splash Animator(也有被稱為SchockwaveAnimator),在出現(xiàn)時它僅僅作為當時交互制作軟件Direc
33、tor和Authorware的一個小型插件,后來才由Macromedia公司出品成單獨的軟件。曾與Dreamweaver(網(wǎng)頁制作工具軟件)和Fireworks(圖像處理軟件)并成為“網(wǎng)頁三劍客”。FLASH隨著互聯(lián)網(wǎng)的發(fā)展,在AdobeFlash4版本之后嵌入了ActionScript函數(shù)調(diào)用功能,使互聯(lián)網(wǎng)在交互應用上更加便捷。該公司及旗下軟件于2007年被Adobe公司收購并進行后續(xù)開發(fā)。(Macromedia最后一個版本為FLAS
34、H8,Adobe收購后第一個發(fā)布的版本為FLASH CS) 但是Adobe Flash Professional僅僅是FLASH CS5工具套件當中的一個產(chǎn)品。除了FLASH Professional之外,Adobe還提供了FLASH Catalyst和Flash Builder。Flash Catalyst是一個設計工具,它無需編寫代碼即可快速創(chuàng)建富有表現(xiàn)力的界面和交互式內(nèi)容。FLASH Buil</p><p&g
35、t; 3.1.3 FLASH游戲設計簡介</p><p> Flash特別適用于創(chuàng)建通過Internet提供的內(nèi)容,因為它的文件非常小。FLASH是通過廣泛使用矢量圖形做到這一點的。與位圖圖形相比,矢量圖形需要的內(nèi)存和存儲空間小很多,因為它們是以數(shù)學公式而不是大型數(shù)據(jù)集來表示的。位圖圖形之所以更大,是因為圖像中的每個像素都需要一組單獨的數(shù)據(jù)來表示。 </p><p> 要在FLASH
36、中構建應用程序,可以使用FLASH繪圖工具創(chuàng)建圖形,并將其它媒體元素導入FLASH文檔。接下來,定義如何以及何時使用各個元素來創(chuàng)建設想中的應用程序。 </p><p> FLASH是一個非常優(yōu)秀的矢量動畫制作軟件,它以流式控制技術和矢量技術為核心,制作的動畫具有短小精悍的特點,所以被廣泛應用于網(wǎng)頁動畫的設計中,以成為當前網(wǎng)頁動畫設計最為流行的軟件之一。 在FLASH中創(chuàng)作內(nèi)容時,需要在FLASH文檔文件中工作。
37、FLASH文檔的文件擴展名為.fla(FLA)。FLASH文檔有四個主要部分: </p><p> 舞臺:舞臺是在回放過程中顯示圖形、視頻、按鈕等內(nèi)容的位置。</p><p> 時間軸:時間軸用來通知FLASH顯示圖形和其它項目元素的時間,也可以使用時間軸指定舞臺上各圖形的分層順序。位于 較高圖層中的圖形顯示在較低圖層中的圖形的上方。 </p><p> 庫面
38、板:庫面板是FLASH顯示FLASH文檔中的媒體元素列表的位置。 </p><p> ActionScript:ActionScript代碼可用來向文檔中的媒體元素添加交互式內(nèi)容。例如,可以添加代碼以便用戶在單擊某按鈕時顯示一幅新圖像,還可以使用ActionScript向應用程序添加邏輯。邏輯使應用程序能夠根據(jù)用戶的操作和其它情況采取不同的工作方式。FLASH包括兩個版本的ActionScript,可滿足創(chuàng)作者
39、的不同具體需要。FLASH包含了許多種功能,如預置的拖放用戶界面組件,可以輕松地將ActionScript添加到文檔的內(nèi)置行為,以及可以添加到媒體對象的特殊效果。這些功能使FLASH不僅功能強大,而且易于使用。</p><p> 3.2 游戲開發(fā)原則</p><p> 游戲開發(fā)的原則包括很多種,我就從中選出游戲性原則、活性原則、可靠性原則和經(jīng)濟性原則進行簡單論述。</p>
40、<p> 3.2.1 游戲性原則</p><p> 游戲作為統(tǒng)一整體而存在,因此,在游戲設計中,要從整個游戲的角度出發(fā),游戲的代碼要統(tǒng)一,設計規(guī)范要標準,傳遞語言要盡可能一致。</p><p> 3.2.2 活性原則</p><p> 為保持游戲的長久生命力,要求系統(tǒng)具有較強的環(huán)境適應性。為此,游戲應具有較好的開放性和結構的可變化性。在游戲設計中
41、,應盡量采用模塊化結構,提高模塊的獨立性,以便于對模塊的修改,提高游戲適應環(huán)境變化的能力。</p><p> 3.2.3 可靠性原則</p><p> 可靠性既是評價游戲設計質(zhì)量的一個重要指標,又是游戲設計的一個基本出發(fā)點。只有設計出的游戲是安全可靠的,才能在實際運行中發(fā)揮出它應有的作用。所以在系統(tǒng)設計中必須考慮到對各種不安全因素抵御能力的設計。例如安全保密、檢錯、抗病毒能力和在出現(xiàn)意
42、外情況后,游戲恢復能力的設計等。</p><p> 3.2.4 經(jīng)濟性原則</p><p> 在滿足游戲需求的前提下,盡可能的減少游戲的開銷。這里既要考慮到現(xiàn)實系統(tǒng)的費用,又要考慮到游戲實施后的費用。</p><p> 3.3 面向對像編程簡介</p><p> 面向對像編程英文名字,Object Oriented Programmi
43、ng,簡稱OOP。是九十年代才流行的一種軟件編程方法。它強調(diào)對象的“抽象”、“封裝”、“繼承”、“多態(tài)”。我們講程序設計是由“數(shù)據(jù)結構”+“算法”組成的。從宏觀的角度講,OOP下的對象是以編程為中心的,是面向程序的對象。</p><p> 3.3.1 面向對象編程的定義</p><p> Alan Kay(Smalltalk面向對象編程環(huán)境語言的發(fā)明人之一,也是面向對象編程思
44、想的創(chuàng)始人之一)對OOP的定義:</p><p> 面向對象編程是基于遞歸設計的原則:</p><p><b> 一切都是對象。</b></p><p> 計算通過對象間相互通信,請求其他對象執(zhí)行動作來實現(xiàn)。對象間通過發(fā)送和接收消息來通信。</p><p> 每個對象都有自己的內(nèi)存,其中可能包括了其他的對象。&l
45、t;/p><p> 每一個對象都是某個類的實例。類就是一組相似的對象。</p><p> 類是對象相關行為的儲存庫。也就是說,同一個類的所有對象都能執(zhí)行同樣的動作。 </p><p> 類被組織成有單個根節(jié)點的樹狀結構,被稱為繼承層次結構。與類實例相關的內(nèi)存和行為都會被樹結構中的后代自動繼承。</p><p> 3.3.2 面向對象設計的
46、概念</p><p> 面向對象程序設計中的概念主要包括:對象、類、數(shù)據(jù)抽象、繼承、動態(tài)綁定、數(shù)據(jù)封裝、多態(tài)性、消息傳遞。通過這些概念面向對象的思想得到了具體的體現(xiàn)。 1、對象 對象是運行期的基本實體,它是一個封裝了數(shù)據(jù)和操作這些數(shù)據(jù)的代碼的邏輯實體。</p><p> 類:類是具有相同類型的對象的抽象。一個對象所包含的所有數(shù)據(jù)和代碼可以通過類來構造。</p><
47、;p> 封裝:封裝是將數(shù)據(jù)和代碼捆綁到一起,避免了外界的干擾和不確定性。對象的某些數(shù)據(jù)和代碼可以是私有的,不能被外界訪問,以此實現(xiàn)對數(shù)據(jù)和代碼不同級別的訪問權限。</p><p> 繼承:繼承是讓某個類型的對象獲得另一個類型的對象的特征。通過繼承可以實現(xiàn)代碼的重用:從已存在的類派生出的一個新類將自動具有原來那個類的特性,同時,它還可以擁有自己的新特性。</p><p> 多態(tài):
48、多態(tài)是指不同事物具有不同表現(xiàn)形式的能力。多態(tài)機制使具有不同內(nèi)部結構的對象可以共享相同的外部接口,通過這種方式減少代碼的復雜度。 </p><p> 動態(tài)綁定:綁定指的是將一個過程調(diào)用與相應代碼鏈接起來的行為。動態(tài)綁定是指與給定的過程調(diào)用相關聯(lián)的代碼只有在運行期才可知的一種綁定,它是多態(tài)實現(xiàn)的具體形式。</p><p> 消息傳遞:對象之間需要相互溝通,溝通的途徑就是對象之間收發(fā)信息
49、。消息內(nèi)容包括接收消息的對象的標識,需要調(diào)用的函數(shù)的標識,以及必要的信息。消息傳遞的概念使得對現(xiàn)實世界的描述更容易。</p><p> 方法:方法(Method)是定義一個類可以做的,但不一定會去做的事。</p><p><b> 4 游戲設計</b></p><p><b> 4.1 角色設計</b></p
50、><p> 游戲主角是兩個相互旋轉的球,一個是紅球、一個是黃球,它們之間有一條線相連。兩個球中只有一個球在旋轉。當一個停下后另一個會圍繞它旋轉,當用鼠標點擊游戲的界面時正在旋轉的球會停止下來,而另一個球就會旋轉運動。鍵盤的左右鍵也可以控制游戲主角的旋轉運動。當落腳點控制恰當時,他們就會按照一定方向進行移動。如4.1圖1所示:</p><p> 4.1圖1 游戲主角</p>&
51、lt;p><b> 4.2 場景設計</b></p><p> 游戲共有九關,每一關對應一個場景。每個場景都有一個時間條,根據(jù)關卡的情況,時間條播放速度不同。時間到了游戲結束。第一關的場景,包括兩個黃球(黃色的主角踩到或者碰到才能得分),兩個紅球(紅色的主角踩到或者碰到才能得分),紅球和黃球各有一個是平面球,另一個是立體球,還有兩個立體的藍球(碰到就得分)。如4.2圖1所示:<
52、;/p><p><b> 4.2圖1 第一關</b></p><p> 第二關的場景,包括一個立體的紅球,一個立體的黃球,兩個立體的藍球,兩個平面的籃球,兩個平面的灰球(會隨機的減少時間和分數(shù)),還有四個靜止的障礙物(碰撞后會反向漂移)。如4.2圖2:</p><p><b> 4.2圖2 第二關</b></p&g
53、t;<p> 第三關的場景,包括一個立體的紅球,一個立體的黃球,兩個立體的藍球,兩個平面的黃球和紅球,兩個平面的灰球,還有兩個移動止的障礙物,還有一個加時間的表(踩到才能增加時間)。如4.2圖3:</p><p><b> 4.2圖3 第三關</b></p><p> 第四關場景,三個立體藍球,兩個平面黃球,兩個平面紅球,兩個白色的立體球,四個加時
54、間的表,一個障礙物和一個平面灰球(碰撞三次才能被消滅并得分)。如4.2圖4、4.2圖5:</p><p><b> 4.2圖4 第四關</b></p><p><b> 4.2圖5 第四關</b></p><p> 第五關場景,包括兩個靜止的障礙物,兩個黃球和兩個紅球(一個平面球,一個立體球),一個灰色的平面球,一個
55、白色的立體球,兩個黑色的刺球(碰到后會反向漂移并損失一顆紅心,當沒有紅心時就會死亡),四個藍球和一個加時間的表。如4.2圖6和4.2圖7:</p><p><b> 4.2圖6 第五關</b></p><p><b> 4.2圖7 第五關</b></p><p> 第六關場景,包括四個靜止的障礙物,十個藍色的球(六個
56、立體球,四個平面球),四個黃球(兩個立體球,兩個平面球),四個紅球(兩個立體球,兩個平面球),兩個刺球,六個立體的綠球(可伸縮,碰到后會反向漂移),兩個加時間表。如4.2圖8和4.2圖9:</p><p><b> 4.2圖8 第六關</b></p><p><b> 4.2圖9 第六關</b></p><p> 第
57、七關場景,包括四個立體的綠球(可伸縮),兩個黃球(一個平面球,一個立體球),兩個紅球(一個平面球,一個立體球),四個藍球(兩個立體球,兩個平面球),三個立體的白球。兩個可移動的刺球(碰到后會反向漂移并損失一顆紅心)。如4.2圖10和4.2圖11:</p><p> 4.2圖10 第七關</p><p> 4.2圖11 第七關</p><p> 第八關場景,包括
58、兩個靜止的障礙物,六個藍球(兩個立體球,四個平面球),兩個平面灰球,兩個立體的白球,兩個紅球(平面),兩個黃球(平面),兩個加時間的表,一個柵欄(時開時關,碰到后會停止旋轉)。如4.2圖12、4.2圖13和4.2圖14:</p><p> 4.2圖12 第八關</p><p> 4.2圖13 第八關</p><p> 4.2圖14 第八關</p>
59、<p> 第九關場景,包括八個藍球(四個平面球,四個立體球),四個紅球(兩個立體球,兩個平面球),四個黃球(兩個立體球,兩個平面球),四個靜止的障礙物,四個刺球(兩個靜止,兩個移動),四個足球(碰撞后會反向旋轉,足球會滾動,足球可以消去刺球),四個加時間的表。如4.2圖15、4.2圖16:</p><p> 4.2圖15 第九關</p><p> 4.2圖16 第九關&l
60、t;/p><p><b> 4.3 界面設計</b></p><p><b> 共有七個主控界面:</b></p><p> Loading界面,主要包括了開始動畫、游戲名字、制作者和指導老師;</p><p> 游戲開始界面,有游戲主角和四個界面按鈕;</p><p>
61、 游戲界面,承載游戲關卡的界面;</p><p> 排行界面,輸出按分數(shù)排列的排行榜;</p><p> 幫助界面,游戲規(guī)則的介紹;</p><p> 設置界面,背景聲音控制、游戲難度控制、游戲控制方式控制和關卡選擇轉換按鈕;</p><p> 關卡選擇界面,提供關卡選擇的功能。</p><p><b&
62、gt; 4.4 規(guī)則設計</b></p><p> 反向漂移的主角會一個繞另一個旋轉,當點擊鼠標左鍵時,會使反向漂移交換旋轉;鍵盤的左右鍵亦可控制反向漂移交換旋轉,按鍵盤左鍵,黃色的旋轉球落腳,按鍵盤右鍵,紅色的旋轉球落腳。游戲主角在每一關都有三條性命。反向漂移的主角碰到不同的物體會有不同的反應:</p><p> 碰到障礙物和立體灰球會反方向旋轉,并后移;碰到刺球會喪
63、失生命;碰到綠顏色的球會得到金幣;</p><p> 碰到平面的黃球或紅球,只有顏色相同并踩上才能得到金幣;碰到立體的黃球或紅球,只有顏色相同才能得到金幣,否則反向旋轉,并后移;碰到柵欄會停止運動; 碰到足球會令足球前進,自己會反向旋轉,并后移;只有足球才能將刺球打掉并得到金幣,一個足球只能消去一個刺球;碰到平面的灰球會丟失一定的時間或金幣,碰到時鐘會得到一定的時間;時間到了會結束本關卡,生命值為
64、零也會結束本關卡;</p><p> 只有通關后才能進入排行榜,排行榜就會記錄下你的分數(shù)和名字;</p><p><b> 4.5 數(shù)據(jù)管理</b></p><p> 玩家的排行信息的存儲和讀取,使用的是Flash的共享對象,[6]英文名稱為Shared Object(以下簡稱SO)。SO允許你在使用者本機上存儲所有flash支持的數(shù)據(jù)(
65、包括:Array, Boolean, Date, Number, Object, String, XML...etc),如同在瀏覽器中使用cookie一樣。SO的存儲位置,一是本地客戶端的硬盤;二是存放在服務器上。在這里,我只能簡單介紹一下本地共享對象(Local shared object)的使用。本地共享對象存儲默認存儲路徑為:</p><p> C:\DocumentsandSettings\登陸名稱\A
66、pplicationData\Macromedia\FlashPlayer\服務器網(wǎng)域名稱\影片路徑\影片文件名.swf\...其擴展名為*.sol。默認情況下,F(xiàn)lash 可以在本地保存多達 100K 大小的永久性遠程共享對象。</p><p> 4.5.1 Shared Objcet使用方法</p><p> 在ShareObject中存儲簡單數(shù)據(jù)是相當簡單的工作,我們先用Shar
67、eObject存儲一個用戶自定義的對象,然后將討論用ShareObject存儲內(nèi)建類的實例的問題。一個用戶自定義對象可以這樣創(chuàng)建: myObj = new Object(); </p><p> 在ShareObject中存儲myObj是很簡單的,首先你需要創(chuàng)建一個本地ShareObject的引用:myLSO = SharedObject.getLocal("foo");</p>
68、<p> getLocal方法的第一個參數(shù)是ShareObject的名字,getLocal()方法也有第二個可選參數(shù):一個字符串類型的路徑。大多數(shù)情況下你用不到這個參數(shù),除非你在多個swf文件中共用同一個ShareObject?,F(xiàn)在為了在ShareObject中儲存數(shù)據(jù),你需要給ShareObject指定“數(shù)據(jù)特性”(data property)?,F(xiàn)在創(chuàng)建一個ShareObject引用,以及你想存儲的對象,最后存儲這個對
69、象到“數(shù)據(jù)特性”中。例子:</p><p> myLSO = SharedObject.getLocal("foo");</p><p> myObj = {}; myObj.fname = "Jessica";</p><p> myObj.lname = "Smith";</p>&
70、lt;p> myLSO.data.myObj = myObj; </p><p> myLocalSharedObject.data;</p><p> 描述:只讀屬性,用來存儲被存儲到“數(shù)據(jù)特性”中的對象的屬性,這些屬性可以共享/存儲,每一個屬性可以是各種基礎數(shù)據(jù)類型(數(shù)組,數(shù)字布爾值等)對象?,F(xiàn)在myObj已經(jīng)存儲在SharedObject中了,今后你可以通過對Shared
71、Object數(shù)據(jù)屬性的存取來實現(xiàn)對myObj的存取,下面是一個例子,這個例子檢測是否數(shù)據(jù)已經(jīng)被存儲到SharedObject中了,如果沒有,它將數(shù)據(jù)存儲進去,如果已經(jīng)存在,則在輸出窗口輸出。當你將這些代碼放到一個空的影片剪輯的第一禎后,你可以運行它一次,然后在運行一次,第二次運行你可以看到你存儲的數(shù)據(jù)被輸出。 一定要先保存動畫,否則你的動畫只是在windows臨時文件夾中運行,不能存儲數(shù)據(jù)。</p><p>
72、myLSO = SharedObject.getLocal("foo");</p><p> if(myLSO.data.myObj == undefined){ </p><p> trace("Storing Data, run me again");</p><p> myObj = {}; </p>
73、<p> myObj.fname = "Jessica";</p><p> myObj.lname = "Smith"; </p><p> myLSO.data.myObj = myObj; </p><p><b> }else{ </b></p><p>
74、; trace("Retrieving Data"); </p><p> var firstname = myLSO.data.myObj.fname; </p><p> var lastname = myLSO.data.myObj.lname;</p><p> trace("First Name: "+fir
75、stname); </p><p> trace("Last Name: "+lastname); </p><p><b> } </b></p><p> 運行一次以上后,你可以將程序改為:</p><p> myLSO = SharedObject.getLocal("foo&
76、quot;);</p><p> trace("Retrieving Data"); </p><p> var firstname = myLSO.data.myObj.fname; </p><p> var lastname = myLSO.data.myObj.lname;</p><p> trace(&
77、quot;First Name: "+firstname); </p><p> trace("Last Name: "+lastname); </p><p> 你會發(fā)現(xiàn)無論你重復運行多少次,甚至關閉flash后重新進入,仍然能夠得到firstname和lastname的值。另外你應該可以理解getLocal()方法的參數(shù)的作用了,它用來表示你所存儲的數(shù)
78、據(jù)的載體名稱,是必不可少的。例如本例中的數(shù)據(jù)都存儲在名為foo的SharedObject中,只有getLocal("foo"),你才能得到你想要的結果。你還可以存儲更多內(nèi)建類型:數(shù)組,布爾值,日期,數(shù)字,對象,XML,undefined,null下面是一個將日期實例存儲在SharedObject中的例子:</p><p> myLSO = SharedObject.getLocal(&quo
79、t;DateStorage"); </p><p> myDate = new Date(); </p><p> myLSO.data.myDate = myDate;</p><p><b> 4.6 游戲的結構</b></p><p> 共有七個界面,開始界面為主界面,開始界面上有四個按鈕,可以調(diào)
80、動開始游戲界面、設置界面、幫助界面和排行榜界面,而設置界面中的選擇關卡按鈕可調(diào)動關卡選擇界面。開始游戲界面是運行游戲的主界面,個個關卡在其中轉換,當過關失敗后,會轉到游戲失敗的界面,玩家可以選擇繼續(xù)游戲和返回開始界面。當闖關成功后會轉到過關的界面,玩家也可以選擇繼續(xù)游戲和返回開始界面。只有通關后才會轉到排行輸入界面,進而進入排行榜的界面,記錄下玩家的名字和最高分。結構如4.6圖1:</p><p> 4.6圖1
81、 游戲結構圖</p><p><b> 4.7 主要模塊</b></p><p> 主控模塊:控制游戲進程、界面轉換、數(shù)據(jù)管理、聲音控制和背景移動等等。是由文檔類(StartMain.as)和元件里的控制代碼進行控制。文檔類是主控模塊的核心,元件里的代碼是輔助文檔類控制游戲。這樣做使控制靈活、多變、便于更改和減少代碼的數(shù)量。</p><p>
82、; 角色模塊:主角的運動方式和屬性和物品的屬性和運行方式。凡是關于角色和物品的基本屬性都是繼承與角色類的基類(BasicBall.as),其他的屬性都是各具特色的。例如角色和物品的大小、狀態(tài)和碰撞性質(zhì)都是基類定義的。而他們的運行方式、分數(shù)、碰撞后性質(zhì)變化都是不同的,需要在自己的類中定義。這樣利于統(tǒng)一管理,方便擴展。</p><p> 關卡模塊:游戲關卡的設計、碰撞管理、物品管理、分數(shù)管理等等。每一個關卡都是繼
83、承自關卡的基類。關卡的基類(LevleMap.as)定義了關卡的基本屬性,包括碰撞、物品的控制方式、分數(shù)管理。而物品的擺放、物品的數(shù)量和類型、碰撞后的分數(shù)反饋是不同的。</p><p><b> 5 游戲開發(fā)</b></p><p><b> 5.1 開發(fā)思路</b></p><p> 該游戲的開發(fā)思路是:<
84、/p><p> 第一步:設計游戲角色和場景,包括游戲主角、游戲的對象和游戲的場景。</p><p> 第二步:設計游戲方式,包括游戲對象的運行方式、主角的運動方式、游戲規(guī)則等等。</p><p> 第三步:游戲的結構設計,包括游戲的界面與界面的關系和關卡的轉換關系。</p><p> 第四步:數(shù)據(jù)的傳遞和存儲,該游戲主要的是游戲分數(shù)的傳遞
85、和存儲。</p><p> 5.2 游戲開發(fā)的編程</p><p> Flash游戲的編程是比較簡單的,F(xiàn)lash編程使用的語言是ActionScript,它屬于面向對象語言。在前面已經(jīng)介紹了,這里就不贅述了,下面我就結合實例說明我在本游戲中的主要編程。</p><p> 5.2.1 游戲主角運行的核心算法</p><p> 運行主要
86、算法:主角的其中一球叫A球,另一球叫B球,第一、當B停止旋轉時,A會圍繞B旋轉;第二、當A停止旋轉時,B會圍繞A 旋轉;第三、A和B只有一球圍繞另一個球旋轉;第四、當玩家點擊控制鍵時,正在旋轉的球停止旋轉。</p><p> 旋轉算法,例如A圍繞B旋轉。</p><p> 第一、得到兩者的坐標(A.x,A.y)和(B.x,B.y),計算A相對于B的角度α;</p><
87、;p> 第二、用A圍繞B旋轉的角速度Speed加上阿爾法,即可算出每次A相對于B旋轉時的角度偏移量β,得到兩者的固定旋轉半徑R;</p><p> 第三、根據(jù)公式:A.x=B.x+sinβ*R;A.y=B.y+cosβ*R即可算出旋轉后的坐標;</p><p> 第四、返回第一步,就可以讓A圍繞B做勻速圓周運動。</p><p> 旋轉算法的AS3代碼
88、實現(xiàn):</p><p> stage.addEventListener(MouseEvent.CLICK,onMouse,false,0,true);</p><p> //鼠標偵聽,兩球旋轉 </p><p> public function onMouse(event:MouseEvent):void {</p><p> if
89、(A.State=="run") {</p><p> this.removeEventListener(Event.ENTER_FRAME,onABall);</p><p> //兩球之間的角度,改變A球的狀態(tài)</p><p> vrAngle=Math.atan2(B.y-A.y,B.x-A.x);</p><p&
90、gt; this.addEventListener(Event.ENTER_FRAME,onBBall,false,0,true);</p><p> B.State="run";</p><p><b> }</b></p><p> if (A.State=="stop") {</p&g
91、t;<p> this.removeEventListener(Event.ENTER_FRAME,onBBall);</p><p> //兩球之間的角度,改變A球的狀態(tài) </p><p> vrAngle=Math.atan2(A.y-B.y,A.x-B.x);</p><p> this.addEventListener(Event.EN
92、TER_FRAME,onABall);</p><p> A.State="run";</p><p><b> }</b></p><p><b> }</b></p><p><b> //A球繞B球旋轉</b></p><p
93、> private function onABall(event:Event):void {</p><p> if (A.State=="run") {</p><p><b> //旋轉公式</b></p><p> vrAngle=vrAngle+hi*vrSpeed;//旋轉角度每次增加“hit*vrS
94、peed”。hit的正負,表示方向</p><p> A.x=B.x+Math.cos(vrAngle)*spinRadius;</p><p> A.y=B.y+Math.sin(vrAngle)*spinRadius;</p><p> B.State="stop";</p><p><b> }&l
95、t;/b></p><p><b> }</b></p><p><b> //B球繞A球旋轉</b></p><p> private function onBBall(event:Event):void {</p><p> if (B.State=="run"
96、) {</p><p><b> //旋轉公式</b></p><p> vrAngle=vrAngle-hit*vrSpeed; //旋轉角度每次增加“hit*vrSpeed”。hit的正負,表示方向</p><p> B.x=A.x+Math.cos(vrAngle)*spinRadius;</p><p>
97、 B.y=A.y+Math.sin(vrAngle)*spinRadius;</p><p> A.State="stop";</p><p><b> }</b></p><p><b> }</b></p><p> 5.2.2 碰撞檢測方式</p>&
98、lt;p> 基于距離的碰撞檢測和基于顯示對象的碰撞檢測。對于Flash的很多版本,影片剪輯里有一個內(nèi)置的方法為hitTest,現(xiàn)在,它已經(jīng)被更合理的分成了兩種獨立的方法。hitTestObject方法用于測試一個顯示對象(精靈、影片剪輯等等)是否碰撞到另外一個,hitTestPoint方法用來檢測一個指定的點是否碰撞到一個顯示對象。而基于距離的碰撞檢測的基本思路如下:兩個圓的距離如果小于兩圓半徑只和就可以判定這兩個圓發(fā)生碰撞了。
99、代碼如下:ball1表示一個球,ball2表示另一個球:</p><p> var dx:Number = ball2.x - ball1.x; //兩者x的差</p><p> var dy:Number = ball2.y - ball1.y; //兩者y的差</p><p> var dist:Number = Math.sqrt(dx * dx + d
100、y * dy);//兩者的距離 </p><p> //如果兩者的而距離大于兩者的半徑和則,輸出碰撞</p><p> if (dist < ball1.radius + ball2.radius){ </p><p> trace("hit"); </p><p><b> }</b>
101、</p><p> 聲音控制,聲音的控制主要使用的是Flash里的media包的Sound類和SoundChannel類進行加載和控制。例如加載并使用song.mp3這個音頻,首先聲明一個Sound的對象將音頻加載進來:var sound:Sound=new Sound(song.mp3);接著聲明一個SoundChannel類的對象:var soundChannel:SoundChannel=new Soun
102、dChannel();然后將控制方式交給soundChannel播放聲音:soundChannel=sound.play();最后停止播放音頻是由soundChannel控制的:soundChannel.stop()。</p><p> 類的關系:主要的類包括,主角類(TwinsBall.as):主要控制,主角的運動、響應用戶的交互和主角的屬性;球類基類(BaseBall.as):各種球類物品的基類,定義了球類
103、物品的基本屬性;文檔類(StartMain.as):控制游戲的進程、關卡的轉換、參數(shù)的傳遞以及響應用戶的交互;主界面上時間軸上的代碼:主要控制界面的轉換、數(shù)據(jù)的管理和保存。關卡類基類(LevleMap.as):關卡的屬性、碰撞管理、關卡物品和分數(shù)傳遞等。類圖如5.2圖1所示:</p><p><b> 5.2圖1 類圖</b></p><p> 5.2.3 自定義
104、事件</p><p> 在AS3中實現(xiàn)自定義事件發(fā)送者有多種方法,其本質(zhì)只有一個EventDispatcher。這里有三種:一是通過繼承來實現(xiàn);二是通過復合來實現(xiàn);三是通過實現(xiàn)接口來實現(xiàn)。在AS3事件中有3個要素,如下5.2圖2所示: </p><p><b> 5.2圖2 類圖</b></p><p> 下面簡單介紹一下事件的簡單用法,
105、addEventListener事件監(jiān)聽傳遞參數(shù),例如下面的就是一個簡單的例子:</p><p> var sayHello:String = "how are you";</p><p> btn1.addEventListener(MouseEvent.CLICK,function (e:MouseEvent){clickHandlerWithArg(e,say
106、Hello)});</p><p> function clickHandlerWithArg(e:MouseEvent,arg:String):void</p><p><b> {</b></p><p> var out:String= e.target + "發(fā)出事件(有參數(shù)) :" + arg;</p&
107、gt;<p> trace(out);</p><p><b> }</b></p><p> 其實發(fā)消息的時候傳參數(shù)在2.0里面是很方便的,但3.0里面要去寫一個類去繼承Event這個類,感覺麻煩了許多,在我學習3.0的初期一直不是 很理解到了3.0為什么變復雜了,所以剛開始經(jīng)常會用到擴展Event這個類,但到后來發(fā)現(xiàn)只要程序的架構寫好了,這種方
108、法是可有可無了,不過今天還是要 講解這種方法的使用.我們先寫一個繼承Event的類:</p><p> package net.smilecn{ </p><p> import flash.events.Event; </p><p> public class MyEvent extends Event{ </p><p> pr
109、ivate var _object:Object; </p><p> public function MyEvent(type:String,object:Object):void{ </p><p> super(type); </p><p> _object=object; </p><p><b> } </
110、b></p><p> public function get param():Object { </p><p> return _object; </p><p><b> } </b></p><p><b> } </b></p><p><b&g
111、t; }</b></p><p> 這個一個很簡單的類,繼承了Event這個類,在構造方法里有一個super(type),super的意思是執(zhí)行父類的構造方法,也就是執(zhí)行Event 的構造,type是消息的類型,就是消息的名字,一個字符串,object就是我們要傳的參數(shù)要用到的一個變量,是一個對象,我們知道對象是很方便的,可 以存儲1到多個參數(shù),下面是一個GET方法,通過param這個名字去取_o
112、bject這個對像的值.再來看一下怎么用這個MyEvent類,修改上一節(jié)中的文件MyClass:</p><p> package net.smilecn{ </p><p> import flash.display.Sprite; </p><p> import flash.events.MouseEvent; </p><p>
113、 import net.smilecn.MyEvent; </p><p> public class MyClass extends Sprite{ </p><p> public function MyClass(){ </p><p> addEventListener(MouseEvent.CLICK,clickHnadler); </p&g
114、t;<p><b> } </b></p><p> private function clickHnadler(event:MouseEvent):void{ </p><p> dispatchEvent(new MyEvent("myClassMessage",{a:100,b:200})); </p>&
115、lt;p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 我們發(fā)現(xiàn)修改代碼并不多,由new Event變成了net MyEvent,也就是說以前發(fā)的消息是as自帶的Event事件,現(xiàn)在發(fā)的是我們自己寫的MyEvent事件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- flash畢業(yè)設計開題報告--flash游戲設計與開發(fā)
- flash畢業(yè)設計論文
- flash動畫畢業(yè)設計
- flash動漫制作畢業(yè)設計
- flash動畫畢業(yè)設計論文
- flash貪吃蛇畢業(yè)設計
- flash畢業(yè)設計論文論文
- flash動畫制作—《父親》畢業(yè)設計
- 畢業(yè)設計(論文)flash動畫設計
- flash課件設計與制作畢業(yè)設計
- 畢業(yè)設計----flash電子相冊設計
- 畢業(yè)設計----flash動畫設計論文
- flash與網(wǎng)頁動畫-畢業(yè)設計
- 畢業(yè)論文-- flash小游戲制作
- 畢業(yè)設計(論文)flash課件之水調(diào)歌頭
- 網(wǎng)頁設計flash+xml網(wǎng)站畢業(yè)設計
- 游戲畢業(yè)設計論文
- 畢業(yè)設計論文flash的設計與制作
- 運用flash制作mv動畫畢業(yè)設計
- 畢業(yè)設計--java游戲設計
評論
0/150
提交評論