freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[教育學(xué)]二級課題報告(編輯修改稿)

2025-05-11 03:44 本頁面
 

【文章內(nèi)容簡介】 果的戰(zhàn)場景象,我們小組的工作人員也都絞盡了腦汁,這時我們大家可能就會想到物理中學(xué)到參照物之類的名詞,不錯,我們就是利用了背景圖片的滾動襯托了戰(zhàn)機在不停的運動效果。經(jīng)小組討論,我們設(shè)計了一個周期切換的背景圖庫,在這個背景圖庫中一共是十張不同場景的背景效果圖片,讓這十張圖片在游戲的過程當(dāng)中不停地周期滾動切換,其中的三張圖片分別如圖3圖36和圖37。圖35 云海戰(zhàn)場圖36 環(huán)球戰(zhàn)場圖37 太空站場在實現(xiàn)這種滾動圖片的效果時,我們主要采用的是圖片的半重疊方法。主要是在顯示圖片的時候,把圖片的長設(shè)置成和當(dāng)前界面的X像素相等,圖片的高設(shè)置成當(dāng)前界面Y像素的2倍,每張圖圖片的初始位置都是在(0,Y)位置,然后在刷屏的過程中讓圖片坐標的Y值不斷增加相同的值,在系統(tǒng)判斷到圖片的Y值坐標大于等于0像素時初始化下一張背景圖片,這樣的話都可以把每一張圖片完整的展現(xiàn)在玩家面前。能把這些圖片流暢的畫在背景中去,主要還是依賴于面板的繪圖方法,在控制這些變量的周期變換中也全靠時間的監(jiān)聽,在后期的維護或更新中我們也能在這些屬性中很輕松的變更。玩家最多時間看到的還是游戲界面,所以我們小組考慮到了游戲界面的重要性,在如何設(shè)計游戲界面上都不敢馬虎。我們小組所有工作人員也都去參考了其他前輩們所做的游戲界面,主要還雷電的游戲界面效果,我們設(shè)計的游戲界面主要分為兩個大的方向,第一是要給玩家一個很直白的信息,就是當(dāng)前玩家的戰(zhàn)機狀態(tài),第二就是整個界面的布局美觀。結(jié)合上面的中心思想,我們把玩家的戰(zhàn)機狀態(tài)顯示在了游戲界面的底層,這樣的話既不影響游戲的順利進行,也符合我們大多數(shù)人的習(xí)慣,整個的游戲界面效果能給玩家一個充滿硝煙的戰(zhàn)爭景象,如圖38所示。圖38 攻擊界面有了游戲界面的設(shè)計框架,我們也就開始了實現(xiàn),在實現(xiàn)血量條的時候,我們畫了一個血量的白色背景以便襯托玩家戰(zhàn)機的血量在不斷變化。在血量條的左側(cè)有個“3P”的字樣,這是告訴玩家當(dāng)前的戰(zhàn)機型號是第三種戰(zhàn)機。像游戲界面上的“3P”、“得分:19”、“血量239”這樣的效果,都是我們畫在面板上的字符串,這些字符串都是得到的當(dāng)前戰(zhàn)機的屬性。說到碰撞我們的這個項目基本上說已經(jīng)可以進行游戲啦,只是再添加一些游戲中特效,就能讓玩家感受到真實的游戲場景。在飛行射擊游戲中,游戲碰撞是關(guān)鍵的技術(shù),如果不能很好的解決,會影響玩游戲的娛樂性。因為飛行射擊游戲就是碰撞的游戲——躲避敵人的子彈或飛機,同時用自己的子彈去碰撞敵人。判斷圓形物體只要兩個物體的中心點距離小于它們的半徑之和就可以了。但我們要碰撞的物體是圓形子彈和方形的飛機,就需要一種精確的檢測方法。例如,半徑檢測法、邊界檢測法等等。我們采用邊界框法,邊界框是在編程中加進去的不可見的邊界。邊界框法,顧名思義,就是用邊界框來檢測物體是否發(fā)生了碰撞,如果兩個物體的邊界相互干擾,則發(fā)生了碰撞。用什么樣的邊界要視不同情況而定,用最近似的幾何形狀。當(dāng)然,可以用物體的準確幾何形狀作邊界框,在飛行射擊游戲中,我們可以用矩形作近似的邊界框,使用矩形重疊方法判斷是否相撞。在實現(xiàn)著些碰撞的時候,我們所約束的主要思想就是兩兩物體的矩形框判斷。因為不同的圖片大小很可能都不等于圖片的邊界框,所以如果只是用Java中的矩形判斷方法是不能給玩家更真實的視覺效果,在我們的項目中我們對不同可能碰撞可能都放在了CoDetection()方法中,并把這個方法封裝在了GameJpanel類中。在做碰撞的檢測時,我們采用的是視覺調(diào)試上的微調(diào),在做每一次的碰撞檢測時我們都會按不同的像素位置進行調(diào)試,最終我們把這些檢測方法放在了上面所說的方法中。有了這些檢測的方法作為我們游戲的后臺控制力量,我們的玩家在進行游戲的過程中就能享受這種有如真實戰(zhàn)機碰撞一般,在玩家看來這個細節(jié)他們并不會有太多的留意,這樣的效果頂多也就是不給玩家留下疑慮,讓他們能繼續(xù)進行游戲。上節(jié)中我們說到了碰撞,只有碰撞的定位十分準確,在后期中我們才能完成更多的特殊效果,在這一節(jié)中我們就來完成敵機的爆炸效果吧。對于爆炸的設(shè)計我們就不用過多的去思考啦,因為這個爆炸的想法我們并不用冥思苦想的去設(shè)計,這些效果我們只需準確的把爆炸效果放在恰當(dāng)?shù)奈恢茫晕覀冃〗M的主要任務(wù)就是去把這種效果實現(xiàn)。圖片爆炸的準確位置我們也不用去擔(dān)心啦,應(yīng)為有了上面的碰撞檢測作為支持,現(xiàn)在我們只需把碰撞后傳來的準確坐標給了我們的爆炸類,接下來的工作就交給了我們的爆炸類吧。首先,我們創(chuàng)建了一個爆炸的類,屬性有爆炸圖片數(shù)組、圖片的的位置坐標、爆炸圖片數(shù)組下標變量,爆炸類還包括一個繪畫方法。其次,爆炸類的所有實體會在每一次的刷屏中對它的實體進行重繪,并且所繪的圖片變量下表會在圖片數(shù)組中遍歷,當(dāng)下標超出數(shù)組的長度,這個爆炸類的實體就被刪除。最后,我們只要創(chuàng)建了爆炸類的實體,就能實現(xiàn)所要的爆炸效果。這些爆炸效果的實現(xiàn)全靠爆炸數(shù)組中的圖片不斷疊加,這些效果圖片如圖39和圖310。玩家在游戲的過程中會根據(jù)具體的程序調(diào)用來實現(xiàn)一些爆炸事例的創(chuàng)建和不停的刷屏,在一個事先創(chuàng)建的爆炸類線型數(shù)組中,系統(tǒng)會不停的對先型數(shù)組進行判斷,所以系統(tǒng)會一一的把符合條件的所有爆炸實例進行遍歷,這樣,所有需要爆炸的點都能完成任務(wù)。圖39 爆炸圖片A庫圖310 爆炸圖片B庫英雄戰(zhàn)機的監(jiān)聽是這個游戲是否能順利進行的關(guān)鍵,監(jiān)聽的好壞還決定了游戲的流暢度。我們小組在設(shè)計這個系統(tǒng)的監(jiān)聽時,設(shè)想了好幾種監(jiān)聽的事件,我們還考慮到在整個游戲的進行當(dāng)中,面板所需要的刷屏?xí)r間間隔是不同的,所以我們設(shè)計了一個用時間的監(jiān)聽事件,并且把這個監(jiān)聽的實例放在了整個游戲的主面板實例當(dāng)中。有了以時間監(jiān)聽來控制整個游戲界面的刷新為保證,在接下來的任務(wù)中,我們就要考慮控制英雄戰(zhàn)機的監(jiān)聽事件啦!更具我們對游戲的了解,玩家即需要用鍵盤來控制英雄戰(zhàn)機,還需要用鼠標來控制英雄戰(zhàn)機的移動。所以我們設(shè)計了鍵盤和鼠標事件對英雄戰(zhàn)機的雙向監(jiān)聽,這樣我們的玩家就能很自然的進行游戲,并且在游戲的過程中能盡情的展現(xiàn)自己的英勇才干。為了能實現(xiàn)這個設(shè)計,我們把這些監(jiān)聽都放在了一個面板類中,這個面板類就是整個游戲類中的主面板類。在這些監(jiān)聽方法中,我們根據(jù)當(dāng)前游戲的狀態(tài)判斷來調(diào)整所有游戲中實體的屬性值。第4章 開發(fā)中解決的問題在剛開始,我們遇到的首要問題就是戰(zhàn)機的發(fā)子彈問題。我們隊首先用到的就是通過按鍵監(jiān)聽來適時地控制戰(zhàn)機的發(fā)子彈問題。能實現(xiàn)這個功能可以說不用花費多少時間和精力,只是在后來的調(diào)試當(dāng)中我們發(fā)現(xiàn)發(fā)子彈和戰(zhàn)機的移動在通過按鍵監(jiān)聽時是非常不流暢的,為了解決這個問題,最初我們添加了鼠標監(jiān)聽,這才導(dǎo)致后來的程序也能通過鼠標來控制戰(zhàn)機的自由移動,因為鼠標監(jiān)聽和按鍵監(jiān)聽互不影響,這樣才能在游戲的過程中感覺游戲不是那么的卡。添加鼠標監(jiān)聽雖然能解決游戲的流暢度,但是我們更想能通過按鍵監(jiān)聽的方法來解決這個問題,在與輔導(dǎo)老師和其他隊友的交談中我們也了解其它的方法。其中一個就是按鍵監(jiān)聽的優(yōu)先順序,另一個就是在發(fā)子彈和戰(zhàn)機移動的同時監(jiān)聽時,這是按鍵監(jiān)聽所要完成的任務(wù)就是只需要監(jiān)聽一個按鈕,同時觸發(fā)戰(zhàn)機發(fā)子彈和移動這兩個事件。再后來,我們的程序就是采用了按鍵、起鍵,的雙向監(jiān)聽。對這兩種監(jiān)聽上面也都介紹的很詳細啦,在這我也就不過多的解釋啦。我們大家都知道,在這個游戲的開發(fā)過程當(dāng)中,只有碰撞效果做的好游戲模擬的真實感才會更強,所以我們也特別重視碰撞的方法檢測。開始我們用的是開發(fā)系統(tǒng)中現(xiàn)有的矩形碰撞,也用過物體間的圓心碰撞。先不說這兩種碰撞方法的優(yōu)缺點,應(yīng)為不管用哪種檢測方法,都能達到視覺上的碰撞效果。我之所以把這個問題單列出來,是因為我在開發(fā)的過程當(dāng)中犯了一個及其嚴重的錯誤,因為子彈類有子彈坐標的屬性,在這個游戲的開發(fā)中,我們給玩家提供三種戰(zhàn)機和四種子彈,學(xué)過排列組合的看到這大概都能想到一個問題,那就是三種戰(zhàn)機和四中子彈的組合問題。在不同的子彈和不同的戰(zhàn)機組合時,為了不同的子彈能像是從戰(zhàn)機的適當(dāng)位置發(fā)出的,開始我用的方法是在創(chuàng)建子彈的實例時,傳過去的只是當(dāng)前戰(zhàn)機的坐標,只是在畫子彈時,系統(tǒng)根據(jù)判斷會適當(dāng)?shù)母淖冏訌椀淖鴺酥?,剛開始我還為我的這種做法感到自豪,恰恰是因為這個算法的實施,給我后來的碰撞檢測添加了一個天大的難題。現(xiàn)在我們再來說說哪兩種碰撞方法,因為不管用哪種碰撞方法都要調(diào)用當(dāng)前子彈的位置坐標,現(xiàn)在給大家解釋解釋,這個子彈的位置坐標是錯誤,所以在碰撞的檢測算法中就會根據(jù)這個錯誤的坐標進行檢測,就會導(dǎo)致游戲時的視覺錯位。上面的描述就是我在開發(fā)時犯得錯誤,我想我會犯這樣的錯誤,可能其他人在做其他開發(fā)時同時也會犯類似的錯誤。后來我是通過在子彈類的內(nèi)部對相應(yīng)的組合子彈位置坐標做了適當(dāng)?shù)男揎棧@樣不管什么時間調(diào)用子彈的坐標都是正確的。這個問題可能對于大多數(shù)開發(fā)者來說都算不上問題,我寫這個問題的目的還有一個,那就是要讓我對這個錯誤的問題深深地記在腦子里。在做開發(fā)的時候,經(jīng)常聽見其他開發(fā)者說爆炸的實現(xiàn)不理想,當(dāng)時的我還沒做爆炸這個任務(wù),也沒把這個問題放在心上。等到我做到這個爆炸任務(wù)的時候,也出乎意料的讓我感到一絲的自豪,因為我在做這個任務(wù)的時候并沒有出現(xiàn)太多的問題,在這我只想把我們實現(xiàn)爆炸功能的過程分享給大家。我們先來簡單的說說paint Component(Graphics g)方法,應(yīng)為在后臺的周期刷屏中,這個方法起著至關(guān)重要的地位?,F(xiàn)在我們再回過頭來說一說爆炸的實現(xiàn),如果我們在繪畫的同時,只是簡單的用一個for循環(huán)來一一的把爆炸數(shù)組圖片畫一遍是很難實現(xiàn)那種爆炸的視覺效果。這些總結(jié)也是我們自己的感覺,可能有些地方不符合Java的語法規(guī)則。為了能達到爆炸的效果,我們可算是費了好大的時日,可就是做不出爆炸的效果,這可急壞了我們的隊友,眼看時間一分一秒的流失掉啦,可是我們開發(fā)進程卻一點都沒有進展。發(fā)牢騷終歸發(fā)牢騷,設(shè)計爆炸的方法才是當(dāng)務(wù)之急,再后來我們就設(shè)計了上面的方法,終于可以達到爆炸的效果啦。第5章 結(jié)束語從去年的一級課題到現(xiàn)在的二級課題,各有各的收獲與心得吧。首先我很感謝自己的選擇,這是我學(xué)編程以來,第一次接觸游戲開發(fā),雖然是小游戲的制作,但其中包含的知識點并不少,一開始對于這游戲編程一點也不了解,不知道如何下手,一點思路也沒有,經(jīng)過三周一點一點的學(xué)習(xí),不敢說絕對的了解,但相對一開始時有很大的提高,因為我學(xué)到了很多知識,比如圖形用戶界面、線性數(shù)組、多媒體音樂的調(diào)加、碰撞顯示爆炸效果、發(fā)射子彈等等,相信在以后的學(xué)習(xí)中會更加精通這些知識,運用起來更加熟練。對于其中遇到的問題大部分是自己解決的,當(dāng)然也免不了請教高手,在添加音樂時,遇到的問題讓自己解決不了,具體問題是如何在關(guān)與關(guān)之間自動切換音樂,一開始自己試圖去調(diào)試解決,但是最后都沒成功,后來經(jīng)過請教我們組的同學(xué),才把這個問題解決。解決之后我又對比自己在調(diào)試時采取的方法,看看自己錯在哪里,反復(fù)仔細看人家代碼,其實總體思路是一樣的,只是在具體操作時一個變量出了點問題,就給自己代碼帶來前進不下的困境。經(jīng)過這會再次證明團結(jié)的力量是強大的,往往一個人難以解決的問題通過請教他人就能迎刃而解,雖然說自己解決問題留下的印象要比問別人要深,但不要忘記在有限的時間里效率是第一的,畢竟在團隊合作的年代里,請教是一門學(xué)問。在編寫這個小游戲時,自己也有很大進步,就拿最后闖關(guān)失敗時界面來說,在上網(wǎng)玩人家已經(jīng)編寫好的游戲時,是不是會遇到當(dāng)你闖關(guān)失敗后,界面上會出現(xiàn)提醒你是否繼續(xù)要玩的字跡呢,于是我就想:能不能讓自己的游戲也能接著失敗時的地方接著開始玩,而不必再重頭開始,這樣玩家就沒必要抱怨有時候好不容易快打到關(guān)底的時候由于失敗而重頭開始那些已經(jīng)打了好多次的場面。思路有了之后,就開始動手添加代碼,實現(xiàn)這樣一個功能也花了不少時間,但是我感覺很值得,畢竟是
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1