Arrays 图片框数组
所以我在做一个棋盘游戏,唯一想到的是用图片框制作棋盘。我的板子是每32个方块26个,这意味着我需要很多图片框来完成这项工作 我想到了两种方法,我不确定它们是否有效 一种是将832个图片框放在我的表单上,然后遍历它们并填充数组,但是这会使表单变得非常混乱和滞后。我手工编写了一些代码,不知道是否可行,但只是想有个想法:Arrays 图片框数组,arrays,vb.net,picturebox,Arrays,Vb.net,Picturebox,所以我在做一个棋盘游戏,唯一想到的是用图片框制作棋盘。我的板子是每32个方块26个,这意味着我需要很多图片框来完成这项工作 我想到了两种方法,我不确定它们是否有效 一种是将832个图片框放在我的表单上,然后遍历它们并填充数组,但是这会使表单变得非常混乱和滞后。我手工编写了一些代码,不知道是否可行,但只是想有个想法: For i = 831 To 0 Step -1 PictureBox.i For e = arrMap(0, 0) To arrMap(25
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
我想到的另一种方法是将一个图片框放在正确的位置,然后在它旁边创建另一个图片框,并将其放入下一个索引位置的数组中,当a行完成时,我会在起始点上方放置另一个图片框,并继续这样操作,直到所有图片框都创建并在数组中
我想我需要阵列,因为我需要比较游戏棋子和阵列的位置,我认为这是最好的方法
有没有更好的方法来制作游戏的棋盘,或者这是否可行,还有什么想法吗
另外,我正在做的是VB对每个状态使用分隔的
图形框不是一个好主意
我建议使用面板
和游戏板的高度和宽度,并将背景图像设置为板(矩阵图)
将面板分离为矩阵,并通过鼠标单击位置查找单击的矩阵索引位置
例如80到90板。
如果每个矩阵索引是5*5像素图像,则80*5和90*5是面板的高度和宽度
查找面板上的单击位置鼠标单击>>例如
位置(21,14)=>[21/5]=4和[14/5]=2,因此选择矩阵[4,2]
现在使用当前背景图像并绘制新图像或使用新图像更改图像
如果只有一个运动图像,您可以使用一个图片框并通过此算法移动图片框
使用draw graphic命令而不是newPictue Box
将背景图像更改为具有新状态的新图像
您可以在自定义类中保存矩阵数据和游戏数据,如game data
顺便说一句,在这类游戏中使用图像框不是个好主意:)似乎最明显的选择是使用TableLayoutPanel
并在每个单元格中添加PictureBox
。不确定是否会出现性能问题,但这是我要尝试的第一件事。PictureBox的存在只是为了方便点击。但是可以肯定的是,它使一个简单的Graphics.DrawImage()调用一个3个数量级的胖函数更昂贵。标签是另一个过度的标签,是调用TextRenderer.DrawText()的缓慢方式。所以不要使用它。我的游戏将基于指向一个图片框中的一个角色,然后将其移动到另一个图片框,这将只是指向并单击。我将尝试实现这一点,我将返回结果:)谢谢