2013-01-11 146 views
-1

我正在製作一個簡單的磚塊破碎機類型的遊戲。我有一個球槳班,我都在屏幕上移動。我也有一個磚塊,當它被球擊中時,它會消失。現在我想要在屏幕上多塊磚,而不需要手動將它們全部繪製出來。在屏幕上多次繪製類XNA

spriteBatch.Draw(brickTexture,brickPosition,Color.White);

一遍又一遍。 (有不同的職位)。我如何多次繪製課程,並且每個磚塊在擊中時都能消失。

+0

剛出來的好奇心,你編程C#多久了? – antonijn

回答

0

在初始化過程中,你可以做的Brick一個數組來包含你的磚的所有實例:

Brick[] bricks = new Brick[num_bricks]; 
for(int i=0; i<num_bricks; i++) 
    bricks[i] = new Brick(); 

然後你可以使用一個foreach循環來吸引他們所有:

foreach(Brick br in bricks) 
    spriteBatch.Draw(brickTexture, br.position, Color.White); 
+0

我這樣做,但我得到一個錯誤,說「對象引用未設置爲對象的實例」。我該怎麼辦? –

+0

創建數組後,必須在使用它們之前初始化'bricks'中的每個'Brick':'for(int i = 0; i Foggzie

+0

另外,你應該在你的循環中加上大括號: 'for(int i = 0; i anaximander