flashAS3.0加農(nóng)炮打靶小游戲_第1頁
flashAS3.0加農(nóng)炮打靶小游戲_第2頁
flashAS3.0加農(nóng)炮打靶小游戲_第3頁
flashAS3.0加農(nóng)炮打靶小游戲_第4頁
flashAS3.0加農(nóng)炮打靶小游戲_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

南京曉莊學(xué)院數(shù)學(xué)與信息技術(shù)學(xué)院《網(wǎng)絡(luò)游戲設(shè)計(jì)》課程考查報(bào)告《加農(nóng)炮射擊游戲》的設(shè)計(jì)與實(shí)現(xiàn)所在院(系):數(shù)學(xué)與信息技術(shù)學(xué)院學(xué)生姓名:李偉學(xué) 號(hào): 10130203班 級(jí):10網(wǎng)絡(luò)工程指導(dǎo)老師:李 青完成時(shí)間: 2013/05/05

目錄TOC\o"1-3"\h\u182851前言 前言射擊游戲是當(dāng)今比較流行的游戲類型之一,一直以來深受不少玩家的喜愛。要人擬開發(fā)的基于ActionScript3.0的flash射擊游戲,是一款簡單的動(dòng)作類游戲。玩家可以通過輕松的進(jìn)行游戲來緩解工作和學(xué)習(xí)壓力。本節(jié)主要是介紹該系統(tǒng)的研究背景、意義和研究現(xiàn)狀,并介紹了要論文的結(jié)構(gòu)安排。1.1課程背景與意義目前在互聯(lián)網(wǎng),電視媒體上人們經(jīng)??梢钥吹絝lash所制作的動(dòng)畫,F(xiàn)LASH以它本身的多媒體和可交互性而廣為推崇。如中央電視臺(tái)的《快樂驛站》等等,它所帶來的親切氛圍,強(qiáng)烈的視覺效果不僅使少年兒童樂此不彼,還使許多的成年人都拍手稱贊。Flash在現(xiàn)如今的日常生活中的應(yīng)用方面有以下幾點(diǎn):1.手機(jī)領(lǐng)域的開發(fā)。手機(jī)領(lǐng)域的開發(fā)將會(huì)對(duì)精確的界面設(shè)計(jì)和CPU使用分布的操控能力有更高的要求,但同時(shí)也意味著更加廣泛的使用空間。2.教學(xué)應(yīng)用方面。利用flash現(xiàn)有的技術(shù)制作無疑會(huì)極大增加學(xué)生的學(xué)習(xí)積極性和創(chuàng)新能力。3.站點(diǎn)建設(shè)方面。不僅可以做IDGo,Banner,還可以使用flash建立全flash站點(diǎn)。全面的控制;無縫的跳轉(zhuǎn);加入ps等的一些效果和更豐富的媒體內(nèi)容;更體貼用戶的流暢交互;以及跨平臺(tái)和小巧客戶端的支持以及與其它flash應(yīng)用方案的無縫連接集成,結(jié)合超高的界面維護(hù)能力和整個(gè)站點(diǎn)的架構(gòu)能力將使得站點(diǎn)更加完美。4.軟件系統(tǒng)界面開發(fā)。Flash對(duì)于界面元素的可控性和它所表達(dá)的效果無疑具有很大的誘惑。對(duì)于一個(gè)軟件系統(tǒng)的界面。Flash所具有的特性完全可以為用戶提供一個(gè)良好的接口。5.flash游戲開發(fā)已經(jīng)進(jìn)行了多年的嘗試。但至今為止仍然儀在中,小型游戲的開發(fā)上。游戲開發(fā)的很在一部分都受限于它的CPU能力和大量代碼的管理;不過可喜的是flash播放器性能的提高,而且基于Java類的結(jié)構(gòu)的開始也奠定了這些基礎(chǔ)。所以在將來的發(fā)展中游戲又是它的一大發(fā)展領(lǐng)域。1.2主要完成的工作以及論文結(jié)構(gòu)1.2.1本文的主要工作Flash被稱為是最為靈活小巧的前臺(tái),結(jié)合AS的對(duì)象和流程控制。使得靈活的界面設(shè)計(jì)和動(dòng)畫設(shè)計(jì)成為可能,但一直還未形成一套完整的flash游戲的設(shè)計(jì)體系。Flash游戲具有跨平臺(tái)的特性,無論你牌何種平臺(tái),只要你安裝有支持flashplayer就能保證它們的最終顯示效果都一致。本文做的就是把2D顯示對(duì)象放到一個(gè)3D舞臺(tái)上,通過設(shè)置一個(gè)影片剪輯的深度來讓它離屏幕更遠(yuǎn)。效果更明顯。1.2.1論文結(jié)構(gòu)在對(duì)如今比較流行的射擊游戲體驗(yàn)和調(diào)研基礎(chǔ)上,再結(jié)合自己對(duì)該游戲知識(shí)的了解,大學(xué)期間所學(xué)的技術(shù)知識(shí),設(shè)計(jì)了一個(gè)基于AS3.0的flash射擊游戲。該游戲由交互式多媒體集成,具有靈活方便的素材庫,采用flash工具進(jìn)行場景與游戲角色的制作,基于AS3.0語言進(jìn)行程序設(shè)計(jì)。同時(shí)利用低開發(fā)建設(shè)成本和高開發(fā)的建設(shè)效率被各種高版本多媒體應(yīng)用,滿足人性化與智能化的基本需求。第一章主要介紹了該游戲研究、設(shè)計(jì)背景和射擊類游戲的研究現(xiàn)狀,在此基礎(chǔ)上分析設(shè)計(jì),論述該游戲的意義以及分析和目前已有該類游戲的不同和改進(jìn)之處。第二章主要介紹了設(shè)計(jì)該游戲所用到的相關(guān)技術(shù)和的簡單介紹,包括開發(fā)環(huán)境、系統(tǒng)體系結(jié)構(gòu)模式等。第三章對(duì)該游戲的需求分析以及該游戲的可行性研究,在調(diào)研大家對(duì)射擊游戲的需求的基礎(chǔ)上,詳細(xì)分析、總結(jié)該游戲所需具有的功能模塊,并對(duì)各功能模塊進(jìn)行了具體的用例分析。游戲功能模塊設(shè)計(jì)理加需求分析得出游戲必須的幾個(gè)功能模塊,繪制了系統(tǒng)的功能模塊圖并闡述了各模塊所具有的功能。第四章介紹系統(tǒng)功能的具體實(shí)現(xiàn),從頁面設(shè)計(jì),類的設(shè)計(jì)以及各功能的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)結(jié)果進(jìn)行了描述。頁面設(shè)計(jì)闡述了進(jìn)行頁面設(shè)計(jì)所需的關(guān)鍵技術(shù),頁面的布局方式。類的設(shè)計(jì)是針對(duì)各功能模塊而設(shè)計(jì)的具體功能類和為了支持這些功能類而設(shè)計(jì)的支持類等。再一個(gè)介紹系統(tǒng)的測試,包括測試環(huán)境的介紹,功能測試,用戶界面測試和測試得出的一些問題嚴(yán)重程度的描述。其中的功能測試主要通過設(shè)計(jì)測試用例對(duì)各大功能模塊進(jìn)行測試。2系統(tǒng)開發(fā)的相關(guān)技術(shù)介紹2.1系統(tǒng)體系結(jié)構(gòu)模式的選擇ActionScript動(dòng)作腳本是遵循ECMAscript的編程語言。它的代碼可用來向文檔中的媒體元素添加交互式內(nèi)容。還可以輕松了將AS添加到文檔的內(nèi)置行為。在使用AS時(shí)應(yīng)注意以下幾點(diǎn):使用AS定義類或接口的腳本必須保存為外部腳本文件,且每個(gè)腳本只能定義一個(gè)類。FlashMX或更高版本的播放器支持用AS開發(fā)的flash動(dòng)畫。2.2AS3.02.2.1AS3.0的技術(shù)特性ActionScript是針對(duì)AdobeFlashPlayer運(yùn)行時(shí)環(huán)境的編程語言,它在Flash內(nèi)容和應(yīng)用程序中實(shí)現(xiàn)了交互性、數(shù)據(jù)處理以及其它許多功能。ActionScript是由FlashPlayer中的ActionScript虛擬機(jī)(AVM)來執(zhí)行的。ActionScript代碼通常被編譯器編譯成“字節(jié)碼格式”(一種由計(jì)算機(jī)編寫且能夠?yàn)橛?jì)算機(jī)所理解的編程語言),如AdobeFlashCS3Professional或Adobe®Flex?Builder?的內(nèi)置編譯器或Adobe®Flex?SDK和Flex?DataServices中提供的編譯器。字節(jié)碼嵌入SWF文件中,SWF文件由運(yùn)行時(shí)環(huán)境FlashPlayer執(zhí)行。ActionScript3.0提供了可靠的編程模型,具備面向?qū)ο缶幊痰幕局R(shí)的開發(fā)人員對(duì)此模型會(huì)感到似曾相識(shí)。ActionScript3.0中的一些主要功能包括:一個(gè)新增的ActionScript虛擬機(jī),稱為AVM2,它使用全新的字節(jié)碼指令集,可使性能顯著提高.一個(gè)更為先進(jìn)的編譯器代碼庫,它更為嚴(yán)格地遵循ECMAScript(ECMA262)標(biāo)準(zhǔn),并且相對(duì)于早期的編譯器版本,可執(zhí)行更深入的優(yōu)化.一個(gè)擴(kuò)展并改進(jìn)的應(yīng)用程序編程接口(API),擁有對(duì)對(duì)象的低級(jí)控制和真正意義上的面向?qū)ο蟮哪P汀?.2.2AS3.0主要的優(yōu)點(diǎn)ActionScript3.0的腳本編寫功能超越了ActionScript的早期版本。它旨在方便創(chuàng)建擁有大型數(shù)據(jù)集和面向?qū)ο蟮目芍赜么a庫的高度復(fù)雜應(yīng)用程序。雖然ActionScript3.0對(duì)于在AdobeFlashPlayer9中運(yùn)行的內(nèi)容并不是必需的,但它使用新型的虛擬機(jī)AVM2實(shí)現(xiàn)了性能的改善。ActionScript3.0代碼的執(zhí)行速度可以比舊式ActionScript代碼快10倍。舊版本的ActionScript虛擬機(jī)AVM1執(zhí)行ActionScript1.0和ActionScript2.0代碼。為了向后兼容現(xiàn)有內(nèi)容和舊內(nèi)容,F(xiàn)lashPlayer9支持AVM1。3系統(tǒng)分析和設(shè)計(jì)3.1功能模塊分析和設(shè)計(jì)功能需求是對(duì)功能分析得到的各主要功能模塊再進(jìn)行詳細(xì)分析,得出這些模塊具體的需求。從而使得整個(gè)游戲的功能更加完善,以滿足玩家的所有需要。加農(nóng)射擊游戲加農(nóng)射擊游戲開始游戲開始游戲退出游戲退出游戲 游戲功能模塊流程圖3.2性能需求分析系統(tǒng)的需求分析就是從系統(tǒng)的實(shí)際業(yè)務(wù)操作流程、系統(tǒng)設(shè)計(jì)目標(biāo)和功能需求上進(jìn)行分析并得出系統(tǒng)的用例圖。對(duì)游戲開發(fā)中將要面臨的問題及其解決方案進(jìn)行初步設(shè)計(jì)及合理安排,明確開發(fā)目標(biāo)。其實(shí)游戲內(nèi)所需要的各個(gè)角色:加農(nóng)炮靶子炮彈背景圖3.3數(shù)據(jù)庫分析和設(shè)計(jì)步驟和原則嚴(yán)格按照標(biāo)準(zhǔn)來設(shè)計(jì)游戲數(shù)據(jù)。包括炮彈的發(fā)射和落點(diǎn)、炮筒的移動(dòng)坐標(biāo)。靶子的坐標(biāo)都經(jīng)過嚴(yán)格計(jì)算來設(shè)計(jì)。加農(nóng)炮彈從Z值-100開始,然后隨著Z值的增加來飛進(jìn)場景里。它飛高的同時(shí)伴隨Y值的減少,在受到實(shí)際重力的作用之后,Y值才開始增加。它會(huì)在Y值為350即撞到地面時(shí)停止。加農(nóng)炮由一組10個(gè)圈圈組成,在flash里不能用3D模型,只好隨便弄一個(gè),因此用這些圈代替了加農(nóng)炮,每一個(gè)都以2D的形式存在于3D空間里,都和加農(nóng)炮彈打出的方向保持一致。 4系統(tǒng)功能的具體實(shí)現(xiàn)與測試4.1系統(tǒng)開發(fā)環(huán)境Flash游戲的編程是比較簡單的,使用的語言是AS3.0,它屬于面向?qū)ο笳Z言。本系統(tǒng)最為核心的功能在于游戲的交互模塊,該功能需要其它各功能模塊提供的數(shù)據(jù)的基礎(chǔ)之上才能夠得以實(shí)現(xiàn)。4.2前臺(tái)實(shí)現(xiàn)4.2.1系統(tǒng)前臺(tái)首頁系統(tǒng)前臺(tái)新建一個(gè)AS3.0,在其中實(shí)現(xiàn)各功能模塊的代碼和幀。4.2.2用戶注冊設(shè)計(jì)及實(shí)現(xiàn)記錄炮彈、它的陰影、地上的標(biāo)靶還有加農(nóng)炮的圈圈,其代碼如下:publicclassTargetPracticeextendsMovieClip{ //movieclips privatevarball:Ball; privatevarballShadow:BallShadow; privatevartarget:Target; privatevarcannonRings:Array;加農(nóng)炮打出炮彈后,炮彈會(huì)獲得一個(gè)向上和向前的推力,具體值取決于炮的角度的大小。所以我把這些值存在dy和dz中:privatevardy,dz:Number;; 游戲運(yùn)行界面,炮彈要打到靶子4.2.3記錄管理每一次的發(fā)射命中靶子之后都會(huì)記錄一次數(shù)據(jù),擊中幾環(huán),打幾次擊中的。待下次再次擊中時(shí)做比較得到的一個(gè)排行榜。5總結(jié)要程序設(shè)計(jì)實(shí)現(xiàn)了flash為平臺(tái)的射擊游戲的開發(fā),炮的發(fā)射時(shí)間隨著玩家的控制來產(chǎn)生,具有一定的可玩性和簡單性,經(jīng)過了細(xì)心的高度和排錯(cuò)解決了絕大部分的問題。但我的水平實(shí)在有限,某些方面考慮不足,游戲設(shè)計(jì)還存在缺陷。但我相信,隨著時(shí)間的失衡,個(gè)人水平的增長,我一定會(huì)更進(jìn)步,會(huì)讓該程序更完美。學(xué)習(xí)flash的困難遠(yuǎn)遠(yuǎn)超出了想像,在設(shè)計(jì)初期,為了解決瞄準(zhǔn)器的移動(dòng)、炮彈的發(fā)射和落地如何實(shí)現(xiàn)花費(fèi)了數(shù)天的時(shí)間,也嘗試了很多相關(guān)的技術(shù),最終開發(fā)出了這款簡單易懂的射擊游戲,經(jīng)過此次學(xué)習(xí)給了我很大的幫助,對(duì)以后的游戲設(shè)計(jì)也做了一個(gè)很好的鋪墊。附錄代碼//內(nèi)建flash.display類庫:package{ importflash.display.*; importflash.events.*;

//記錄炮彈、陰影、地上的標(biāo)靶以及加農(nóng)炮的圈圈:publicclassTargetPracticeextendsMovieClip{ //影片剪輯 privatevarball:Ball; privatevarballShadow:BallShadow; privatevartarget:Target; privatevarcannonRings:Array;//加農(nóng)炮的位置和角度:privatevarcannonPosition:Number; privatevarcannonAngle:Number; //炮彈矢量:privatevardy,dz:Number;//構(gòu)造函數(shù)創(chuàng)建標(biāo)靶,炮彈,陰影,旋轉(zhuǎn)-90度。://設(shè)置所胡影片剪輯publicfunctionTargetPractice(){ target=newTarget(); ball=newBall(); ballShadow=newBallShadow(); ballShadow.rotationX=-90;//rotateshadowtoliedownonsurface ballShadow.y=350;//shadowontheground addChild(ballShadow); addChild(target); addChild(ball);//創(chuàng)建10個(gè)圈圈表示加農(nóng)炮的方向:cannonRings=newArray(); for(vari=0;i<10;i++){ varcannonRing:CannonRing=newCannonRing(); cannonRings.push(cannonRing); addChild(cannonRing); }//設(shè)置加農(nóng)炮的初始位置和角度:cannonAngle=-30; cannonPosition=275; drawCannon();//設(shè)置第一個(gè)標(biāo)靶:setUpTarget();//接受鍵盤控制stage.addEventListener(KeyboardEvent.KEY_DOWN,keyPressedUp);}//Z值-100用來剛好將加農(nóng)炮放在三維空間的前方://定位炮彈publicfunctiondrawCannon(){ //placeball ball.x=cannonPosition; ball.y=350; ball.z=-100;//定位陰影ballShadow.x=cannonPosition; ballShadow.y=350; ballShadow.z=-100;//繪制加農(nóng)炮的圈圈for(vari=0;i<cannonRings.length;i++){ cannonRings[i].x=cannonPosition; cannonRings[i].y=350+5*i*Math.sin(cannonAngle*(Math.PI/180)); cannonRings[i].z=-100+5*i*Math.cos(cannonAngle*(Math.PI/180)); } }//繪制標(biāo)靶:privatefunctionsetUpTarget(){ target.x=Math.random()*400-200+275; target.y=350; target.z=Math.random()*1200+600; }//移動(dòng)加農(nóng)炮時(shí),改變屬性并調(diào)用類來重繪圈圈:publicfunctionkeyPressedUp(event:KeyboardEvent){ if(event.keyCode==37){ cannonPosition-=5; drawCannon(); }elseif(event.keyCode==39){ cannonPosition+=5; drawCannon(); }elseif(event.keyCode==38){ cannonAngle-=1; drawCannon(); }elseif(event.keyCode==40){ cannonAngle+=1; drawCannon(); }elseif(event.keyCode==32){ fireBall(); } }//打出炮彈,偵聽事件并用它每步移動(dòng)炮彈:privatefun

溫馨提示

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

評(píng)論

0/150

提交評(píng)論