在一FLASH游戏里,
有个小方框,
我做了个两竖线的测量工具,
刚开始要移动到那小方框的2个边上, 可那小方框会动来动去,
所以我想要让线自动对准那小方框的两边上, 小方框的边为 黑色
请高手帮忙下啦~~~
在一FLASH游戏里,
有个小方框,
我做了个两竖线的测量工具,
刚开始要移动到那小方框的2个边上, 可那小方框会动来动去,
所以我想要让线自动对准那小方框的两边上, 小方框的边为 黑色
请高手帮忙下啦~~~
既然小方框的边为纯黑色,那么还是比较好找出小方框的位置的。
假设小方框的大小是不变的(我不知道是否会变,长为a,宽为b,单位pt)
1,通过api取点的颜色。
2,因为只找左右的两条边,所以从上到下跳越式的搜索(步长<=小方框的宽度b)
3,每跳一下,就从左至右的逐像素的搜索,如果找到黑色的点,就上下连续搜索一定数量的点
如果全部为黑色,则证明是一条黑线,说明找到了左边,在左边的基本上,加上宽度,就是右边了。
在此右边还可以用来校验搜索的结果是否正确。
4,找到了左右两条边的位置,剩下的就设置你的竖线的位置。
下面给出大体上的代码:
GetPixel函数是获取设备指定点颜色值的。
for y = 0 to yMax step b-1
for x=0 to xMax
if GetPixel(hdc,x,y) =vbBlack then
'向上搜索一定数量的点,判断是否全部为黑色
'.........
'向下搜索一定数量的点,判断是否全部为黑色
'.........
end if
next
next