游戲中使用多張圖片實現(xiàn)動畫
上一篇我們講了游戲中使用背景音樂和按鈕音效,今天我們來講解如何使用多張連續(xù)圖片實現(xiàn)游戲中的動畫。
首先下載連續(xù)的動畫圖:?Joy.zip——http://www.xnadevelop.com/wp-content/uploads/2020/01/Joy.zip?,下載后解壓文件。將整個Jay文件夾復(fù)制到【HelloWorld.XNAContent】項目中,
點開【HelloWorld.XNAContent】項目中【Jay】目錄,注意這些圖片的前半部分的名字是一樣的,不一樣的是后面帶數(shù)字的部分。

打開Game1.cs,找到上一篇提到的【SoundEffect buttonPressedSound;//定義按鈕音效】,在它下面定義一個列表來存放這些圖片:

定義一個矩形來控制動畫顯示的位置和大小,由于動畫是多張圖片快速切換形成的,所以這個矩形只需要一個。

定義動畫的當(dāng)前顯示的圖片索引,也就是當(dāng)前顯示的圖片是第幾張加1

找到【LoadContent()】方法,在方法體內(nèi)實例化圖片列表并用一個for循環(huán)來加載圖片紋理,這里有個規(guī)律當(dāng)小于10的情況下,圖片名稱的最后是00i,大于等于10為0i。

同時初始化動畫的位置和大小 X軸100,Y軸100,大小是200的正方形

接著,找到【Draw(GameTime gameTime)】,找到【spriteBatch.Draw(mouseCursor,mouseCursorPosition,Color.White);】在它的前面輸入

來畫出當(dāng)前顯示的圖片,由于currentFrame是0,所以顯示的是第一幀。目前還不會動。

下面我們讓它動起來,找到【Update(GameTime gameTime)】方法,在方法體內(nèi)加入

完整代碼如下:




點擊【啟動】

運行效果如下。
