2013-01-11 199 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