如何声明一个二维数组来存储图片(使用图片框)



我正在为我目前正在做的一个项目设计一款Breakout风格的游戏。我刚刚完成了执行球和球拍,我有一些麻烦,执行砖的游戏。我有一张砖头的图片,我想把它放到游戏中。为此,因为我需要一个砖块的网格,我正在考虑声明一个2D的图片框数组(所以我可以分配砖块的图片),但我只能声明数组。这是我的代码行:

Dim Bricks(9, 9) As PictureBox

所以,我的问题是:我如何访问每个图片盒并分配砖块的图像?有更快的方法吗?谢谢,非常感谢你的帮助。

注意,在创建Bricks数组之后,该数组仍然是空的,即它的所有元素都是Nothing。您需要将窗体上的图片框分配给这个数组,除非您想反过来动态地创建图片框。

在第一种情况下,像这样做:

Bricks(0,0) = pictureBox1
Bricks(0,1) = pictureBox2
...

或带循环

For x As Integer = 0 To 9
    For y As Integer = 0 To 9
        Bricks(x, y) = Controls("pictureBox" & (10 * x + y))
    Next 
Next 

(10 * y + x)取决于您选择的顺序。

另一种情况(自动创建图片框)

For x As Integer = 0 To 9
    For y As Integer = 0 To 9
        'Create and initialize the PictureBox
        Dim pb AS New PictureBox
        pb.Size = New Size(30, 30)
        pb.Location = New Point(20 + 30 * x, 20 + 30 * y)
        pb.Image = myinitialImage
        AddHandler pb.Click, AddressOf HandlePictureClick
        'Assign the PictureBox to the array
        Bricks(x, y) = pb
        'Add the PictureBox to the Form
        Controls.Add(pb)
    Next 
Next 

现在你可以分配这样的图片

Bricks(x, y).Image = myPicture

相关内容

  • 没有找到相关文章