TC官方合作论坛

标题: 昨天写到DNF分解装备的最后一个流程卡死 [打印本页]

作者: 1142169220    时间: 2012-9-10 11:10
标题: 昨天写到DNF分解装备的最后一个流程卡死
就是一背包都是腰带 找图的话都是一样的 图 怎么循环把他们一个一个丢进去 分解机   
有大神和我说过什么大漠扩展找图命令  求学习地址 求大神留名
作者: shine宝宝    时间: 2012-9-10 11:33
找一次 就把x加一点  然后 该换行的时候   就x恢复到最初的   y加  然后再x加到换行
作者: 1142169220    时间: 2012-9-10 11:51
回复 2楼shine宝宝的帖子

这样会不会很麻烦啊,而且腰带多少位置不固定的话 他会找空的
作者: shine宝宝    时间: 2012-9-10 11:57
那就大漠喽
作者: jimye0526    时间: 2012-9-10 12:03
哎 这个简单额通过找色来判断背包中的腰带
而且背包每格的间隔是一样的 所以就是 分解一个腰带 或判断不是腰带就x+30
然后判断x大于多少坐标是 y+30 换行
作者: 1142169220    时间: 2012-9-10 12:05
回复 4楼shine宝宝的帖子

教我写下大漠 蘑菇大神  么么哒么么哒
作者: shine宝宝    时间: 2012-9-10 12:10

  1. 函数简介:
  2. 查找指定区域内的图片,位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理.
  3. 这个函数可以查找多个图片,并且返回所有找到的图像的坐标.
  4. 函数原型:
  5. string FindPicEx(x1, y1, x2, y2, pic_name, delta_color,sim, dir)
  6. 参数定义:
  7. x1 整形数:区域的左上X坐标
  8. y1 整形数:区域的左上Y坐标
  9. x2 整形数:区域的右下X坐标
  10. y2 整形数:区域的右下Y坐标
  11. pic_name 字符串:图片名,可以是多个图片,比如"test.bmp|test2.bmp|test3.bmp"
  12. delta_color 字符串:颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示)
  13. sim 双精度浮点数:相似度,取值范围0.1-1.0
  14. dir 整形数:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
  15. 返回值:
  16. 字符串:
  17. 返回的是所有找到的坐标格式如下:"id,x,y|id,x,y..|id,x,y" (图片左上角的坐标)
  18. 比如"0,100,20|2,30,40" 表示找到了两个,第一个,对应的图片是图像序号为0的图片,坐标是(100,20),第二个是序号为2的图片,坐标(30,40)
  19. (由于内存限制,返回的图片数量最多为1500个左右)
复制代码

作者: fire    时间: 2012-9-10 14:23
楼主,

找到腰带
拖到分解机
松开鼠标
分解
延时
确定
找到腰带


把腰带截个图下来,
每次都找图
点击的时候(x+6y+6)
作者: 1142169220    时间: 2012-9-10 16:58
回复 8楼fire的帖子

我把我之前的代码发给你
作者: 1142169220    时间: 2012-9-10 16:59
回复 7楼shine宝宝的帖子

谢谢大神
作者: 1142169220    时间: 2012-9-10 17:04
我的逻辑是这样的
   找到腰带单机选中
找到分解机 获取坐标后鼠标移动 这就相当于 拖动鼠标到分解机的过程
然后还有一个就是看是否弹出确定
如果出现确定就
就发送一次回车按键
然后结束
但是他就是卡在拖动哪里 他会在包里不听的找来找去 偶尔才会拖动到分解机 当然他还是会一直找
很头疼的问题
作者: fire    时间: 2012-9-10 17:09
回复 11楼1142169220的帖子

整型 x,y,a,b
找图。。。xy是腰带的坐标
找图2。。。ab是分解机的坐标

鼠标左键按下。。
鼠标移动。。
鼠标松开。。
作者: 1142169220    时间: 2012-9-10 17:24
回复 12楼fire的帖子

好的 我把代码写简介一点 我的代码好像运行的效率不高 用一个数的话
作者: 1142169220    时间: 2012-9-10 17:30
整型 图片X坐标,图片Y坐标,图像序号
整型 坐标X,坐标Y
  功能 逻辑型 分解()
      循环(真)
      
      图像序号=图像.找图(0,0,800,600,"rc:\\分解机.bmp",0,1.0,0,坐标X,坐标Y)
如果(坐标X>0)
      图像序号=图像.找图(0,0,800,600,"rc:\\腰带.bmp",0,1.0,0,图片X坐标,图片Y坐标)
     如果(图片X坐标>0)
鼠标.移动(图片X坐标+5,图片Y坐标+5)
    鼠标.左键按下()
鼠标.移动(坐标X,坐标Y)     
    鼠标.左键弹起()
    辅助.等待(1000)
    鼠标.左键单击(1)
    辅助.等待(3000)
    图像序号=图像.找图(0,0,800,600,"rc:\\确定按钮.bmp",0,1.0,0,图片X坐标,图片Y坐标)
          如果(图片X坐标>0)
          键盘.按键(13,2)
          辅助.等待(1000)
          如果结束
    如果结束
否则
    跳出
如果结束
  循环结束
返回 真
功能结束
作者: 1142169220    时间: 2012-9-10 17:38
回复 12楼fire的帖子

我代码好像有问题大神帮忙看下 在楼下代码已发
作者: fire    时间: 2012-9-10 18:16
功能 逻辑型 分解()
    循环(真)        
        整型 x,y,腰带
        整型 j,k,分解
        分解= 图像.找图(0,0,800,600,"rc:分解机.bmp",0,1.0,0,x,y)
        辅助.等待(444)
        if(分解>=0)
            腰带 = 图像.找图(0,0,800,600,"rc:腰带.bmp",0,1.0,0,j,k)
            辅助.等待(444)
            鼠标.移动(j,k)
            鼠标.左键按下()
            鼠标.移动(x,y)
            鼠标.左键弹起()
        else
            继续
        endif
        辅助.等待(1000)
        .....      //然后,就是点,呢个延时多点,5000吧
    循环结束
    返回 真
功能结束




你试试。。。
作者: 1142169220    时间: 2012-9-10 18:38
回复 16楼fire的帖子

好的马上去试
作者: 1142169220    时间: 2012-9-10 18:50
回复 5楼jimye0526的帖子

找色?取什么颜色啊




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1