所以我正在做一个棋盘游戏,想到的唯一想法就是让棋盘上有图片框。我的电路板是每32个方格26个,这意味着我需要很多图片框才能做到这一点。
我想到了两种方法,我不确定它们是否有效。
实际上是将832个图片框放在我的表单上,然后运行它们并填充数组,但这会使表单变得非常混乱和滞后。我亲自写了一些代码,不知道它是否会起作用,但它只是有一个想法:
For i = 831 To 0 Step -1
PictureBox.i
For e = arrMap(0, 0) To arrMap(25, 31)
arrMap(a, e) = PictureBox.i
If e = 32 Then
e = 0
a = a + 1
End If
Next
Next
我想到的另一种方法是将一个图片框放在正确的位置,然后在它旁边创建另一个图片框并将其放入下一个索引位置的数组中,当一行完成时,我会放另一个一个在起点之上并继续这样,直到创建所有图片框并在数组中。
我想我需要阵列,因为我需要比较游戏棋子和阵列上的位置,我认为这是最好的方法。
有没有更好的方法来制作游戏的主板,或者这是否可行?
PS。我这样做是VB
答案 0 :(得分:0)
对每个州使用分开的Pictue Box
不是一个好主意,
我建议使用Panel
游戏板的高度和宽度,并将背景图像设置为棋盘(矩阵图)
将面板分隔为矩阵,并通过鼠标单击位置找到单击的矩阵索引位置
例如80到90板。
如果每个矩阵索引是5 * 5像素图像那么80 * 5和90 * 5是面板的高度和宽度
在面板鼠标单击>>上查找单击的位置例如 位置(21,14)=> [21/5] = 4且[14/5] = 2因此选择矩阵[4,2]
现在使用当前背景图像并绘制新图像或使用新图像更改图像
如果只有一个运动图像,您可以使用一个图片框并通过此算法移动图片框
使用绘图图形命令而不是新Pictue Box
将背景图像更改为具有新状态的新图像
您可以将自定义类中的矩阵数据和游戏数据保存为game data
顺便说一下,对于这种类型的游戏使用图像框并不是一个好主意:)