Dim 区域=array(146,318,473,456) '这里设置区域 Dim 距离X, 距离Y '定义区域内每个格子的距离 距离x = clng((区域(2) - 区域(0)) / 5) '计算距离 , 横向5个格子 距离Y= clng((区域(3)-区域(1))/2) ' 计算距离 , 竖向2个格子 TracePrint 距离X, 距离Y Dim 起X(4,1),起Y(4,1),终X(4,1),终y(4,1) '定义每个格子的起点和终点的坐标,这就是二维数组的定义了,表示横向有4+1个点,竖向有1+1个点 For i=0 to 4 For j = 0 To 1 起X(i,j) = 区域(0) + i * 距离X 起Y(i,j)= 区域(1)+ j*距离y 终X(i,j)=区域(0)+ (i+1)*距离x 终y(i,j)=区域(1)+ (j+1)*距离y TracePrint 起X(i,j),起Y(i,j),终X(i,j),终y(i,j) Next Next /* 二维数组的用法 二维数组的每一个成员只是一个值,不太容易理解,需要各位慢慢摸索 如果实在看不懂呢,请自行搜索紫猫免费经典教程----消消乐的课程 附件中的图片是最上面的代码的示意图,各位慢慢研究一下 例如:在一个区域内有相同的10个格子,从这10个格子当中分别把起点坐标和终点坐标算出来,怎么计算? 为什么要出这个题? 大家先看看安卓按键中 区域找色的例子: Dim intX,intY FindMultiColor 201,428,421,474,"707070","59|-5|FFFFFF,-35|-15|8F8F8F,46|-2|000000",0,0.9,intX,intY If intX > -1 And intY > -1 Then TracePrint intX TracePrint intY End If 以上例子中是在一个区域内找一组颜色数据,那么问题换成在10个格子中找其他颜色数据呢?那么这10个格子中放的东西不一样呢? 我们是不是利用二维数组计算这10个格子的区域范围,就可以不用每次都再取一次范围了啊 当然,你也可以每个格子都手动取范围,那如果是6*10个格子呢? 以上代码就可以利用二维数组来封装成一个函数,直接套用成以下: 用在哪些地方呢? 例如在这10个格子当中寻找3中物品...... */ Dim 数,intX,intY Dim 物品() '只需要背包中的数据,区域不写 物品(0) = array("707070", "59|-5|FFFFFF,-35|-15|8F8F8F,46|-2|000000") 物品(1) = array("505050", "59|-5|000000,-35|-15|8F8F8F,46|-2|FFFFFF") 物品(2)=array("505050", "59|-5|000000,-35|-15|8F8F8F,46|-2|FFFFFF") Function 清包(数据) For k = 0 To UBound(数据) 数=数据(k) For i=0 to 4 For j = 0 To 1 起X(i,j) = 区域(0) + i * 距离X 起Y(i,j)= 区域(1)+ j*距离y 终X(i,j)=区域(0)+ (i+1)*距离x 终y(i,j)=区域(1)+ (j+1)*距离y TracePrint 起X(i, j), 起Y(i, j), 终X(i, j), 终y(i, j) FindMultiColor 起X(i, j), 起Y(i, j), 终X(i, j), 终y(i, j),数(0),数(1),0,0.9,intX,intY If intX > -1 And intY > -1 Then TracePrint "找打啦 啊啊 " Else TracePrint "没有找到啊啊啊 " End If Next Next Next End Function 清包 物品