找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8334|回复: 8

[已回复] 这种函数怎么写?

[复制链接]

15

主题

15

回帖

45

积分

小学生

鲜花
0
猫粮
119
发表于 2019-11-11 15:10:32 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 脚本小学弟 于 2019-11-11 15:12 编辑

我需要将多个区域找色的函数写在一起例如代码:
[按键精灵] 纯文本查看 复制代码
if findcolor(0,0,0,0,“FFFFFF” ,0.9) and findcolor(0,0,0,0,“FFFFFF” ,0.9) and  findcolor(0,0,0,0,“FFFFFF” ,0.9)    then

     showmessage “找到了!”

end if


这串代码每次都得重写,如果使用自定义函数的话,我想将其设定为

[按键精灵] 纯文本查看 复制代码
if findcolor(0,0,0,0,“FFFFFF” ,0,0,0,0,“FFFFFF” ,0,0,0,0,“FFFFFF” ) then

     showmessage “找到了!”

end if


把重复的代码去除,默认0.9 ,这个自定义函数如何写呢?
楼主热帖
  • 打卡等级:武林至尊

1087

主题

2143

回帖

4337

积分

院长

鲜花
9
猫粮
7517
QQ
发表于 2019-11-11 15:56:11 | 显示全部楼层
你要理解一点, 代码写出来, 电脑必须要能读懂这段代码, 它才能去执行这段代码, 并不是说, 你读懂了这段代码, 电脑就会按照你想象的去做.

所有代码都是有一定的规则的, 不是你想怎么写, 就怎么写的. 这个规则就是语法, 具体你可以看下我们文档
https://zimaoxy.com/m/post/findcolor/

严格按照这个命令的参数内容填写, 不能自己随便想一个参数写进去的

15

主题

15

回帖

45

积分

小学生

鲜花
0
猫粮
119
 楼主| 发表于 2019-11-11 16:14:39 | 显示全部楼层
紫猫 发表于 2019-11-11 15:56
你要理解一点, 代码写出来, 电脑必须要能读懂这段代码, 它才能去执行这段代码, 并不是说, 你读懂了这段代码 ...

[按键精灵] 纯文本查看 复制代码
Function zhaotu(var1,var2,var3,var4,var5,var6,var7,var8,var9,var10,var11,var12,var13,var14,var15)
	
     Dim ret1,ret2,ret3
     Dim 返回值
		
     ret1 = Array(var1, var2, var3, car4, var5)
     ret2 = Array(var6, var7, var8, car9, var10)
     ret3 = Array(var11, var12, var13, car14, var15)	

     If FindColor(ret1(0), ret1(1), ret1(2), ret1(3), ret1(4), 0.9) And FindColor(ret2(0), ret2(1), ret2(2), ret2(3), ret2(4), 0.9) And FindColor(ret3(0), ret3(1), ret3(2), ret3(3), ret3(4), 0.9) Then 
          返回值 = True
     Else 
          返回值 = False
     End If
		
     zhaotu() = 返回值 

	
End Function



我的意思是这个意思,这样写可以吗?
  • 打卡等级:武林至尊

1087

主题

2143

回帖

4337

积分

院长

鲜花
9
猫粮
7517
QQ
发表于 2019-11-11 18:44:33 | 显示全部楼层
脚本小学弟 发表于 2019-11-11 16:14
[mw_shl_code=qscript,true]
Function zhaotu(var1,var2,var3,var4,var5,var6,var7,var8,var9,var10,var1 ...

可以的, 只要你的参数符合语法规则, 随便你怎么来写都可以, 记得加上判断条件

15

主题

15

回帖

45

积分

小学生

鲜花
0
猫粮
119
 楼主| 发表于 2019-11-12 20:06:39 | 显示全部楼层
紫猫 发表于 2019-11-11 18:44
可以的, 只要你的参数符合语法规则, 随便你怎么来写都可以, 记得加上判断条件 ...

紫猫老师,zm插件的多点比色函数可否加上一个识别点的偏移量呢?

因为有些模拟器在同分辨率,同dpi情况下,同一个点的位置有偏移

11

主题

266

回帖

298

积分

初中生

鲜花
0
猫粮
493
QQ
发表于 2019-11-19 01:27:44 | 显示全部楼层
[按键精灵] 纯文本查看 复制代码
Dim colorTb={_
{1,1,1,1,"FFFFFF"}_
,{2,2,2,2,"FFFFFF"}_
,{3,3,3,3,"FFFFFF"}_
,{4,4,4,4,"FFFFFF"}_
,{5,5,5,5,"FFFFFF"}_
}
If FindColorEx(colorTb) Then 
    TracePrint "满足条件"
Else 
    TracePrint "不满足条件"
End If
Function FindColorEx(tb)
    Dim x,y
    FindColorEx = True
    For Each k , v In tb
        If FindColor(v[1], v[2], v[3], v[4], v[5], 0, 0.9, x, y) = -1 Then 
            FindColorEx = False
            Exit For
        End If
    Next
End Function
欢迎技术咨询
  • 打卡等级:无名新人

5

主题

38

回帖

53

积分

按键电脑班学员

鲜花
0
猫粮
1130
发表于 2019-11-25 22:50:00 | 显示全部楼层
脚本小学弟 发表于 2019-11-12 20:06
紫猫老师,zm插件的多点比色函数可否加上一个识别点的偏移量呢?

因为有些模拟器在同分辨率,同dpi情况 ...

你说的这个东东是多点找色,你可以研究一下♪(^∇^*)

15

主题

15

回帖

45

积分

小学生

鲜花
0
猫粮
119
 楼主| 发表于 2019-11-26 00:03:11 | 显示全部楼层
yanmo 发表于 2019-11-25 22:50
你说的这个东东是多点找色,你可以研究一下

我知道是多点找色

那多点找色,再添加每个点的偏移的多点找色呢?

8

主题

19

回帖

35

积分

按键手机班学员

鲜花
0
猫粮
179
发表于 2019-11-29 03:55:23 | 显示全部楼层
      多点每个点 都和 第一个点 有关系 。 和每个点又有偏移的点 和 第一个点有关系没有?
a=1 : b = a - 1:  c = b - 1 那么 c= a-2 ,c不和b对比,直接和a对比,,,

仍然有,且不变。
所有多点找色就是你要的效果,抓抓复制代码10个点上限 ,多点找色不是10个点上限.................(一般情况10个以内够了。。。。。。。。。)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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