找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4879|回复: 3

[已回复] 子程序中,多个If判断只执行第一个

[复制链接]

15

主题

15

回帖

45

积分

小学生

鲜花
0
猫粮
119
发表于 2019-8-23 00:08:06 | 显示全部楼层 |阅读模式

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

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

×
[按键精灵] 纯文本查看 复制代码
Dim 副本第一章 = zm.CmpColorEx(.......)
Dim 副本第二章  = zm.CmpColorEx(.......)
Dim 副本第三章  = zm.CmpColorEx(.......)
Dim 主界面 = zm.CmpColorEx(.......)

剧情副本

Sub 剧情副本
	
	// 从主界面进入剧情副本界面
	
	If 主界面 Then 	
		TracePrint "当前为主界面,点击进去剧情副本!"
		zm.Tap 591, 808, 659, 896, 500
		过图延时 
	End If

	//剧情副本界面,进入第一章
	
	If 副本第三章 Then 
		TracePrint "当前为副本第三章,准备前往第一章"
		zm.Tap 337, 62, 385, 109, 500
		极速延时 	
		zm.Tap 337, 62, 385, 109, 500
		极速延时 
	End If
			
	If 副本第二章 Then 
			TracePrint "当前为副本第二章,准备前往第一章"
			zm.Tap 337, 62, 385, 109, 500
			极速延时 	
	End If		
End Sub



如果直接调用dim定义的变量,子程序的if就执行第一个if
第二个if跳转副本章节的就直接跳过了
如果将第二个if中的自定义变量换成 zm.CmpColorEx(.......)他就可以执行第二个if了,不知道这里是什么问题导致的
楼主热帖
  • 打卡等级:武林至尊

1087

主题

2143

回帖

4337

积分

院长

鲜花
9
猫粮
7517
QQ
发表于 2019-8-23 09:17:49 | 显示全部楼层
Dim 副本第一章 = zm.CmpColorEx(.......)
Dim 副本第二章  = zm.CmpColorEx(.......)
Dim 副本第三章  = zm.CmpColorEx(.......)
Dim 主界面 = zm.CmpColorEx(.......)

这段代码的作用是把命令执行后的结果保存到变量中, 你在函数里面再判断这些变量值, 而这些值是不变的, 除非你重新对变量赋值

15

主题

15

回帖

45

积分

小学生

鲜花
0
猫粮
119
 楼主| 发表于 2019-8-23 10:29:08 | 显示全部楼层
紫猫 发表于 2019-8-23 09:17
Dim 副本第一章 = zm.CmpColorEx(.......)
Dim 副本第二章  = zm.CmpColorEx(.......)
Dim 副本第三章  = z ...

是不是可以这样理解:

Dim 副本第一章 = zm.CmpColorEx(.......)
Dim 副本第二章  = zm.CmpColorEx(.......)
Dim 副本第三章  = zm.CmpColorEx(.......)
Dim 主界面 = zm.CmpColorEx(.......)

操作集

sub    操作集

x = 主界面

if x then
....
end if
end  sub


如果我需要用大量的变量,同事需要所有的子程序或主程序都能调用,是不是都必须用这种方式?

或者用zm.CmpColorExTable来解决?
  • 打卡等级:武林至尊

1087

主题

2143

回帖

4337

积分

院长

鲜花
9
猫粮
7517
QQ
发表于 2019-8-23 19:59:59 | 显示全部楼层
变量是变量, 函数是函数, 变量不被赋值的话, 他的值永远不会变化, 函数每次调用都会有一个新的执行过程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 08:58

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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