2012-07-06 64 views
0

我已經創建了一個Vector2的數組,它保存了精靈將顯示的位置的位置:
Vector2 [,] SpritePosition = new Vector2 [4,4];在XNA中顯示精靈的數組

然後寫一個for循環並初始化每個部件的位置:

public void loadArray() 
    { 
     for(int i=0;i<4;i++) 
     { 
      for(int j=0;j<4;j++) 
      { 
       SpritePosition[i, j] = new Vector2(i*texture.Width , j*texture.Width); 
      } 
     } 
    } 

我已經創建,其保持精靈和下一位置根據需要在圖像的寬度計算出的紋理紋理(一個圖像正在4個4行中加載)。

然後我用下面的代碼在Draw()函數

spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend); 
     for(int i=0;i<4;i++) 
      for(int j=0;j<4;j++) 
       spriteBatch.Draw(texture, SpritePosition[i,j], Color.White); 
     spriteBatch.End(); 

但是當我運行該程序,它顯示我只有1個圖像,而不是4行4

回答

0

不太清楚但是,有一件事。 我覺得你的意思SpritePosition[i, j] = new Vector2(i*texture.Width , j*texture.Height); (高度第二次,沒有寬度)

而且我看到這裏沒有必要的數組,爲什麼不只是

spriteBatch.Draw(texture, new Vector2(i*texture.Width,j*texture.Height), Color.White);

而且,這不是一個「代碼你「的網站。我看到你剛剛發佈這個問題後,我回答你的最後一次。看起來它似乎並不是你試圖自己弄清楚的。

+0

雅,我的意思是身高。是的,我會記住這一點。它只是我開始遊戲編程和很多困難出現方式太快 – 2012-07-06 03:44:58

+0

它的工作。我不打算將此用作您網站的代碼。我很抱歉,如果它看起來如此 – 2012-07-06 03:47:27

+0

很高興看到它的作品,好吧。 Offtopic:你問了第3000個XNA問題! – Cyral 2012-07-06 12:15:11