找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5907|回复: 8

[已回复] 多点找图 套参数 函数写法 求助

[复制链接]

3

主题

7

回帖

13

积分

学前班

鲜花
0
猫粮
19
发表于 2019-11-21 12:39:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
各位大神,刚刚接触按键精灵,在学习一些基本知识。
多点找色 想用套参数 写封装函数的时候遇到了问题,路过的大佬抽空指导下。

Do

Call 点点点()

Loop


Sub 点点点
    多点找色 451,885,495,930,"FBDFD4","16|8|FFFCFA,23|16|FFE9D2,14|26|F6C590,-2|32|EFA47E"
End Sub

Function 多点找色(x1, y1, x2, y2, c1, c2)
    Dim x, y
    FindMultiColor x1, y1, x2, y2, c1, c2, 0, 0.9, x, y
    If X > -1 And Y > -1 Then   
    TracePrint "找到了"
        多点找色 = true  
    End If  
    多点找色 = False       
End Function


我想实现: do...loop,循环里, 多点找色 = true ,就tap x,y,多点找色 = False 就exit do

if 多点找色 = true then
   tap x,y
   else
   多点找色 = False
  exit do
End If
想实现这样的2个判断,改怎么写,在什么地方加呢?


楼主热帖
  • 打卡等级:武林至尊

1087

主题

2143

回帖

4337

积分

院长

鲜花
9
猫粮
7517
QQ
发表于 2019-11-21 14:39:55 | 显示全部楼层
If判断里加个Else条件就可以了

3

主题

7

回帖

13

积分

学前班

鲜花
0
猫粮
19
 楼主| 发表于 2019-11-21 16:13:07 | 显示全部楼层
本帖最后由 mengjianyong 于 2019-11-21 16:14 编辑
紫猫 发表于 2019-11-21 14:39
If判断里加个Else条件就可以了

院长,你是说在 function里面加么?
Function 多点找色(x1, y1, x2, y2, c1, c2)

    Dim x, y
    FindMultiColor x1, y1, x2, y2, c1, c2, 0, 0.9, x, y
    If X > -1 And Y > -1 Then
         TracePrint "找到了"
        Tap x,y
        多点找色 = true
    Else
        TracePrint "没有找到了"
        多点找色 = False
    End If   
End Function

这个条件,可以在 sub 子程序里面加么?
  • 打卡等级:武林至尊

1087

主题

2143

回帖

4337

积分

院长

鲜花
9
猫粮
7517
QQ
发表于 2019-11-21 16:14:24 | 显示全部楼层
这个条件必须在function里,这样你调用函数才有正确的返回值

3

主题

7

回帖

13

积分

学前班

鲜花
0
猫粮
19
 楼主| 发表于 2019-11-21 16:16:34 | 显示全部楼层
本帖最后由 mengjianyong 于 2019-11-21 16:20 编辑
紫猫 发表于 2019-11-21 16:14
这个条件必须在function里,这样你调用函数才有正确的返回值

function里TracePrint ,在sub 里 ,怎么调用呢?

Sub 点点点
        Dim x,y                If 多点找色(451, 885, 495, 930, "FBDFD4", "16|8|FFFCFA,23|16|FFE9D2,14|26|F6C590,-2|32|EFA47E") = true Then            
        Tap x,y
        End If   
End Sub

这样么?

感觉 x,y的值,跟function的里,会连不起来?




  • 打卡等级:武林至尊

1087

主题

2143

回帖

4337

积分

院长

鲜花
9
猫粮
7517
QQ
发表于 2019-11-21 16:18:48 | 显示全部楼层
返回值=函数名(参数)

该怎么写就怎么写

3

主题

7

回帖

13

积分

学前班

鲜花
0
猫粮
19
 楼主| 发表于 2019-11-21 16:26:27 | 显示全部楼层
紫猫 发表于 2019-11-21 16:18
返回值=函数名(参数)

该怎么写就怎么写

Do
    Dim x,y

    多点找色 451, 885, 495, 930, "FBDFD4", "16|8|FFFCFA,23|16|FFE9D2,14|26|F6C590,-2|32|EFA47E"
       
If  True = 多点找色(451, 885, 495, 930, "FBDFD4", "16|8|FFFCFA,23|16|FFE9D2,14|26|F6C590,-2|32|EFA47E") Then
        Tap x, y
        Else
        Exit Do

End If
Loop

End Sub

这里 dim x,y ,tap x,y,和 function里的x,y 能 连接起来么?

3

主题

7

回帖

13

积分

学前班

鲜花
0
猫粮
19
 楼主| 发表于 2019-11-21 16:34:30 | 显示全部楼层
本帖最后由 mengjianyong 于 2019-11-21 16:45 编辑
紫猫 发表于 2019-11-21 16:18
返回值=函数名(参数)

该怎么写就怎么写

Do
    Dim x,y

    多点找色 451, 885, 495, 930, "FBDFD4", "16|8|FFFCFA,23|16|FFE9D2,14|26|F6C590,-2|32|EFA47E"
        
If  True = 多点找色(451, 885, 495, 930, "FBDFD4", "16|8|FFFCFA,23|16|FFE9D2,14|26|F6C590,-2|32|EFA47E") Then
        Tap x, y
        Else
        Exit Do

End If
Loop

End Sub

貌似 tap x,y 值不对,这里的x,y是怎么和function里的关联呢?
  • 打卡等级:武林至尊

1087

主题

2143

回帖

4337

积分

院长

鲜花
9
猫粮
7517
QQ
发表于 2019-11-21 19:24:17 | 显示全部楼层
参数x,y是返回参数, 无法关联起来, 你只能定义一个全局的x,y, 然后函数里直接返回这个xy
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫猫编程学园

GMT+8, 2024-12-23 09:24

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表