




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、從頭開(kāi)始您已經(jīng)準(zhǔn)備好了一切,現(xiàn)在就讓我們開(kāi)始編碼吧!本節(jié)您將在XNA Studio模板的幫助下創(chuàng)建一個(gè)簡(jiǎn)單的游戲項(xiàng)目,然后在Update和Draw方法中添加少量代碼以實(shí)現(xiàn)一些小功能。在下一小節(jié)學(xué)習(xí)了SpriteBatch類(lèi)之后,您將創(chuàng)建您的第一個(gè)游戲。Ø 您的第一個(gè)項(xiàng)目 打開(kāi)XNA Game Studio Express,在菜單欄中選擇“文件新建項(xiàng)目”,在彈出的新窗口中選擇“Windows Game”模板,然后在項(xiàng)目名稱處輸入新項(xiàng)目的名稱,比如“HelloWorld”或者就使用默認(rèn)的名稱“WindowsGame1”,在位置處輸入新項(xiàng)目的保存位置,最后點(diǎn)擊“確定”按鈕。另外,在該窗口中
2、還可以創(chuàng)建基于初學(xué)者工具包的游戲項(xiàng)目,比如“Spacewar Windows Starter Kit”。如下圖1-10所示:圖1-10 在新創(chuàng)建的項(xiàng)目中包含兩個(gè)類(lèi)文件:Game1.cs和Program.cs。其中Program.cs文件包含了該應(yīng)用程序的入口點(diǎn)Main方法,如下所示:Game1.cs文件包含了類(lèi)Game1(繼承自類(lèi)Microsoft.Xna.Framework.Game),它包含了之前講過(guò)的三個(gè)方法:Initialize、Update和Draw。(小竅門(mén):如果要觀看整個(gè)程序的結(jié)構(gòu),可按Ctrl+M,O來(lái)折疊代碼)Initialize方法此時(shí)不執(zhí)行任何操作,只是調(diào)用基類(lèi)的Init
3、ialize方法進(jìn)行基本的初始化操作。Update方法主要包含下面的幾行代碼,用來(lái)檢查Gamepad上的“Back”按鈕是否被按下,如果按下則退出游戲,否則調(diào)用基類(lèi)的Update方法:Draw方法主要執(zhí)行一個(gè)操作,將游戲窗口的背景色設(shè)置成一個(gè)特定的顏色,如下所示:Ø 按F5運(yùn)行現(xiàn)在按下鍵盤(pán)上的F5鍵,或者選擇菜單欄上的“調(diào)試啟動(dòng)調(diào)試”命令運(yùn)行游戲,此時(shí)將彈出如圖1-11-(1)所示的窗口,它的了藍(lán)色背景就是在Draw方法中設(shè)置的。圖1-11 您也可以把背景色改為綠色,比如Color.Green,然后再按F5運(yùn)行程序,代碼如下:參數(shù)ClearOptions的默認(rèn)值是ClearOptio
4、ns.Target | ClearOptions.DepthBuffer,意思是背景色和Depth緩存都被清除。Ø 修改代碼現(xiàn)在,您可以想一想如何修改您的代碼來(lái)實(shí)現(xiàn)一些操作。比如,按下鍵盤(pán)上的Escape鍵可以退出游戲。之前說(shuō)過(guò),XNA默認(rèn)的會(huì)在Update方法中檢查Xbox 360控制器上的Back按鈕是否被按下來(lái)決定是否退出游戲,代碼如下:在以后中您將學(xué)習(xí)到Input類(lèi)的使用,不過(guò)現(xiàn)在您可以使用一種快速的方法來(lái)操作鍵盤(pán),下面的代碼演示了當(dāng)您按下Escape鍵時(shí)也能退出程序:Ø 加入圖像現(xiàn)在來(lái)初步學(xué)習(xí)在游戲中加載圖像:給游戲加上一個(gè)背景圖,然后操作鍵盤(pán)或者GamePad來(lái)
5、移動(dòng)該背景圖,這些在很多2D的角色扮演游戲中經(jīng)常會(huì)用到。在您的第一個(gè)項(xiàng)目中添加的texture是CityGroundSmall.png,如圖1-12所示: 圖1-12 要把這個(gè)texture(CityGroundSmall.png)加入到您的項(xiàng)目中,只需要在解決方案資源管理器(Solution Explorer)中把這個(gè)圖片拖拽到您的項(xiàng)目的Content目錄中即可,然后右鍵點(diǎn)擊該文件查看“屬性”,如圖1-13所示:圖1-13 通常你會(huì)用到 “生成操作(Build Action)”和“復(fù)制到輸出目錄”這兩個(gè)的選項(xiàng)(比如,您可能想把一個(gè).dll或者.xml文件包含進(jìn)來(lái))。資源名稱(Asset Na
6、me)在將來(lái)選擇加載資源時(shí)使用,而且內(nèi)容文件的資源名稱必須是唯一的,不能有重復(fù)?,F(xiàn)在如果按下F5或者F6(生成解決方案)上述添加的texture將被處理,并在項(xiàng)目的輸出文件夾中產(chǎn)生一個(gè)新的文件“CityGroundSmall.xnb”,而且在項(xiàng)目的輸出窗口中會(huì)顯示下面的信息: 現(xiàn)在您要做的最后一件事就是加載已經(jīng)導(dǎo)入的紋理文件,在Initialize方法中進(jìn)行操作并且在類(lèi)中添加一個(gè)變量backgroundTexture,并使用之前您指定的資源名稱(Asset Name)(資源名稱默認(rèn)的是您添加的內(nèi)容文件的名稱)。要渲染您的texture到輸出屏幕上,您需要下一章要討論的SpriteBatch類(lèi),
7、它先設(shè)置Alpha Blending,然后把texture畫(huà)到sprite中,最后把所有東西都畫(huà)到屏幕上,代碼如下:在類(lèi)中定義以下變量(不是在函數(shù)中,也不是在類(lèi)外!)然后找到Initialize函數(shù),改成這樣:要顯示內(nèi)容,則必須在Draw方法中啟動(dòng)SpriteBatch,并把texture渲染到sprites中,如:上述代碼將在輸出屏幕的(0,0)坐標(biāo)處顯示該背景,SpriteBatch.Draw方法中的Color參數(shù)也可以重新設(shè)置,不過(guò)這里暫時(shí)并不重要。按下F5將看到圖1-14所示的結(jié)果: 圖1-14 Ø 加入控制最后一件事就是添加使用鍵盤(pán)或者GamePad來(lái)滾動(dòng)背景的功能,這樣您
8、就可以把可滾動(dòng)的Tile渲染到整個(gè)背景。像下面這樣修改Update方法您將可以捕獲鍵盤(pán)或者GamePad輸入:在類(lèi)中添加一個(gè)float類(lèi)型的變量scrollPosition,并賦初始值為0,如下:將Update函數(shù)中的內(nèi)容改成如下:前面幾行代碼和之前的例子是相同的。接下來(lái)要計(jì)算每一幀要移動(dòng)多少像素,如果一秒鐘只畫(huà)一幀,那么變量moveFactorPerSecond的值就是400;如果一秒鐘畫(huà)60幀,那么一幀需要1/60秒,此時(shí)該變量的值就是400/60(其中g(shù)ameTime.ElapsedRealTime表示相鄰兩幀之間的時(shí)間間隔)。每當(dāng)用戶按下Up或者Down鍵的時(shí)候變量scrollPosition的值都會(huì)發(fā)生變化,此時(shí)再在Draw方法中把scrollPosition的值加到坐標(biāo)y上,就可以把背景來(lái)回上下移動(dòng)了,代碼如下:現(xiàn)在運(yùn)行您的游戲就可以上下來(lái)回移動(dòng),這對(duì)于您的第一個(gè)小應(yīng)用是不是很酷?第二個(gè)任務(wù)將上述程序改動(dòng)一下,使得圖片能布滿屏幕。(將關(guān)鍵程序截圖)第一個(gè)任務(wù)將上述程序改動(dòng)一下,使得圖片能左右移動(dòng)。(將關(guān)鍵程序截圖)Ø 播放聲音現(xiàn)在要添加聲音了。設(shè)計(jì)是:當(dāng)A鍵被按下時(shí),播放聲音。播放聲音時(shí),首先要定義一個(gè)SoundEffect變量,然后再調(diào)用它的play()方法就可以了。向項(xiàng)目的Content目錄添加聲音素材fire2
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小數(shù)乘小數(shù)(教學(xué)設(shè)計(jì))-2024-2025學(xué)年五年級(jí)上冊(cè)數(shù)學(xué)西師大版
- 第二章 有理數(shù)的運(yùn)算-綜合與實(shí)踐-進(jìn)位制的認(rèn)識(shí)與探究 大單元教學(xué)設(shè)計(jì)方案 2024-2025學(xué)年人教版數(shù)學(xué)七年級(jí)上冊(cè)
- 2025年中國(guó)抗衰老肽護(hù)膚品行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 2025年中國(guó)聚酯漆刷行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 尿毒癥防治指南
- 設(shè)備采購(gòu)培訓(xùn)課件
- 信用專題培訓(xùn)課件
- 2024年全球及中國(guó)汽車(chē)鋰電池鋁制包外殼行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 中國(guó)耐熱壓制玻璃行業(yè)市場(chǎng)深度調(diào)查評(píng)估及投資方向研究報(bào)告
- 2025年中國(guó)電子地圖市場(chǎng)運(yùn)行態(tài)勢(shì)及行業(yè)發(fā)展前景預(yù)測(cè)報(bào)告
- 2024年西藏公安機(jī)關(guān)招聘警務(wù)輔助人員筆試真題
- 2025-2030中國(guó)顯示驅(qū)動(dòng)芯片行業(yè)競(jìng)爭(zhēng)風(fēng)險(xiǎn)及前景發(fā)展創(chuàng)新研判報(bào)告
- 2024年昆明市公安局招聘勤務(wù)輔警真題
- 客房部?jī)?nèi)部管理制度
- 小學(xué)生數(shù)學(xué)學(xué)習(xí)習(xí)慣的培養(yǎng)講座
- DeepSeek+AI大模型賦能制造業(yè)智能化供應(yīng)鏈解決方案
- 2025河南省豫地科技集團(tuán)有限公司社會(huì)招聘169人筆試參考題庫(kù)附帶答案詳解析集合
- T/CCOA 45-2023氣膜鋼筋混凝土球形倉(cāng)儲(chǔ)糧技術(shù)規(guī)程
- 《船舶行業(yè)重大生產(chǎn)安全事故隱患判定標(biāo)準(zhǔn)》解讀與培訓(xùn)
- 2025年中考生物模擬考試卷(附答案)
- 11《大家排好隊(duì)》(教學(xué)設(shè)計(jì))2023-2024學(xué)年統(tǒng)編版道德與法治二年級(jí)上冊(cè)
評(píng)論
0/150
提交評(píng)論