PartXNA入門_第1頁
PartXNA入門_第2頁
PartXNA入門_第3頁
PartXNA入門_第4頁
PartXNA入門_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、從頭開始您已經(jīng)準備好了一切,現(xiàn)在就讓我們開始編碼吧!本節(jié)您將在XNA Studio模板的幫助下創(chuàng)建一個簡單的游戲項目,然后在Update和Draw方法中添加少量代碼以實現(xiàn)一些小功能。在下一小節(jié)學習了SpriteBatch類之后,您將創(chuàng)建您的第一個游戲。Ø 您的第一個項目 打開XNA Game Studio Express,在菜單欄中選擇“文件新建項目”,在彈出的新窗口中選擇“Windows Game”模板,然后在項目名稱處輸入新項目的名稱,比如“HelloWorld”或者就使用默認的名稱“WindowsGame1”,在位置處輸入新項目的保存位置,最后點擊“確定”按鈕。另外,在該窗口中

2、還可以創(chuàng)建基于初學者工具包的游戲項目,比如“Spacewar Windows Starter Kit”。如下圖1-10所示:圖1-10 在新創(chuàng)建的項目中包含兩個類文件:Game1.cs和Program.cs。其中Program.cs文件包含了該應用程序的入口點Main方法,如下所示:Game1.cs文件包含了類Game1(繼承自類Microsoft.Xna.Framework.Game),它包含了之前講過的三個方法:Initialize、Update和Draw。(小竅門:如果要觀看整個程序的結構,可按Ctrl+M,O來折疊代碼)Initialize方法此時不執(zhí)行任何操作,只是調(diào)用基類的Init

3、ialize方法進行基本的初始化操作。Update方法主要包含下面的幾行代碼,用來檢查Gamepad上的“Back”按鈕是否被按下,如果按下則退出游戲,否則調(diào)用基類的Update方法:Draw方法主要執(zhí)行一個操作,將游戲窗口的背景色設置成一個特定的顏色,如下所示:Ø 按F5運行現(xiàn)在按下鍵盤上的F5鍵,或者選擇菜單欄上的“調(diào)試啟動調(diào)試”命令運行游戲,此時將彈出如圖1-11-(1)所示的窗口,它的了藍色背景就是在Draw方法中設置的。圖1-11 您也可以把背景色改為綠色,比如Color.Green,然后再按F5運行程序,代碼如下:參數(shù)ClearOptions的默認值是ClearOptio

4、ns.Target | ClearOptions.DepthBuffer,意思是背景色和Depth緩存都被清除。Ø 修改代碼現(xiàn)在,您可以想一想如何修改您的代碼來實現(xiàn)一些操作。比如,按下鍵盤上的Escape鍵可以退出游戲。之前說過,XNA默認的會在Update方法中檢查Xbox 360控制器上的Back按鈕是否被按下來決定是否退出游戲,代碼如下:在以后中您將學習到Input類的使用,不過現(xiàn)在您可以使用一種快速的方法來操作鍵盤,下面的代碼演示了當您按下Escape鍵時也能退出程序:Ø 加入圖像現(xiàn)在來初步學習在游戲中加載圖像:給游戲加上一個背景圖,然后操作鍵盤或者GamePad來

5、移動該背景圖,這些在很多2D的角色扮演游戲中經(jīng)常會用到。在您的第一個項目中添加的texture是CityGroundSmall.png,如圖1-12所示: 圖1-12 要把這個texture(CityGroundSmall.png)加入到您的項目中,只需要在解決方案資源管理器(Solution Explorer)中把這個圖片拖拽到您的項目的Content目錄中即可,然后右鍵點擊該文件查看“屬性”,如圖1-13所示:圖1-13 通常你會用到 “生成操作(Build Action)”和“復制到輸出目錄”這兩個的選項(比如,您可能想把一個.dll或者.xml文件包含進來)。資源名稱(Asset Na

6、me)在將來選擇加載資源時使用,而且內(nèi)容文件的資源名稱必須是唯一的,不能有重復?,F(xiàn)在如果按下F5或者F6(生成解決方案)上述添加的texture將被處理,并在項目的輸出文件夾中產(chǎn)生一個新的文件“CityGroundSmall.xnb”,而且在項目的輸出窗口中會顯示下面的信息: 現(xiàn)在您要做的最后一件事就是加載已經(jīng)導入的紋理文件,在Initialize方法中進行操作并且在類中添加一個變量backgroundTexture,并使用之前您指定的資源名稱(Asset Name)(資源名稱默認的是您添加的內(nèi)容文件的名稱)。要渲染您的texture到輸出屏幕上,您需要下一章要討論的SpriteBatch類,

7、它先設置Alpha Blending,然后把texture畫到sprite中,最后把所有東西都畫到屏幕上,代碼如下:在類中定義以下變量(不是在函數(shù)中,也不是在類外?。┤缓笳业絀nitialize函數(shù),改成這樣:要顯示內(nèi)容,則必須在Draw方法中啟動SpriteBatch,并把texture渲染到sprites中,如:上述代碼將在輸出屏幕的(0,0)坐標處顯示該背景,SpriteBatch.Draw方法中的Color參數(shù)也可以重新設置,不過這里暫時并不重要。按下F5將看到圖1-14所示的結果: 圖1-14 Ø 加入控制最后一件事就是添加使用鍵盤或者GamePad來滾動背景的功能,這樣您

8、就可以把可滾動的Tile渲染到整個背景。像下面這樣修改Update方法您將可以捕獲鍵盤或者GamePad輸入:在類中添加一個float類型的變量scrollPosition,并賦初始值為0,如下:將Update函數(shù)中的內(nèi)容改成如下:前面幾行代碼和之前的例子是相同的。接下來要計算每一幀要移動多少像素,如果一秒鐘只畫一幀,那么變量moveFactorPerSecond的值就是400;如果一秒鐘畫60幀,那么一幀需要1/60秒,此時該變量的值就是400/60(其中gameTime.ElapsedRealTime表示相鄰兩幀之間的時間間隔)。每當用戶按下Up或者Down鍵的時候變量scrollPosition的值都會發(fā)生變化,此時再在Draw方法中把scrollPosition的值加到坐標y上,就可以把背景來回上下移動了,代碼如下:現(xiàn)在運行您的游戲就可以上下來回移動,這對于您的第一個小應用是不是很酷?第二個任務將上述程序改動一下,使得圖片能布滿屏幕。(將關鍵程序截圖)第一個任務將上述程序改動一下,使得圖片能左右移動。(將關鍵程序截圖)Ø 播放聲音現(xiàn)在要添加聲音了。設計是:當A鍵被按下時,播放聲音。播放聲音時,首先要定義一個SoundEffect變量,然后再調(diào)用它的play()方法就可以了。向項目的Content目錄添加聲音素材fire2

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論