|
5精币
求好心大神解答疑难杂症。。。。。
大致问题是,找2个色,没找到的话就对象XY坐标 = 0
但是没有找到的情况下,还是会执行 自己被点了的操作,到底是哪里的原因啊 求解
.版本 2
.支持库 dm
.支持库 spec
.程序集 窗口程序集_启动窗口
.子程序 _转属性测试_被单击
.局部变量 找图返回, 文本型
.局部变量 x坐标, 整数型
.局部变量 y坐标, 整数型
.局部变量 aaa, 文本型, , "0"
.局部变量 找彩虹返回, 文本型
.局部变量 bbb, 文本型, , "0"
.局部变量 彩虹x坐标, 整数型
.局部变量 彩虹y坐标, 整数型
.局部变量 player, 文本型
.局部变量 步骤, 文本型
.局部变量 自己被转, 整数型
.局部变量 自己被转x, 整数型
.局部变量 自己被转y, 整数型
.局部变量 自己宠被转x
.局部变量 自己宠被转y
.局部变量 队长被转
.局部变量 队长被转x
.局部变量 队长被转y
.局部变量 队长宠被转x
.局部变量 队长宠被转y
.局部变量 技能栏检测, 文本型
句柄 = 5115750
DM.BindWindow (句柄, “normal”, “windows”, “windows”, 0) ' 绑定窗口
player = DM.FindPicE (450, 0, 560, 20, “player.bmp”, “28ff28-306020”, 1, 0) ' 找player图
延迟 (500)
.判断循环首 (player = “-1|-1|-1”)
player = DM.FindPicE (450, 0, 560, 20, “player.bmp”, “28ff28-306020”, 1, 0) ' 找player图
延迟 (800)
调试输出 (“找p”)
.判断循环尾 ()
' 检测技能栏部分
技能栏检测 = DM.FindPicE (402, 3, 635, 128, “技能栏没点.bmp”, “0 - 306020”, 1, 0) ' 找技能栏是不是打开状态,如果打开的话就去关闭,为了后续检测
.如果真 (技能栏检测 = “-1|-1|-1”)
DM.MoveTo (100, 370)
延迟 (500)
DM.RightClick ()
.如果真结束
.如果真 (转对象x ≠ 0)
找图返回 = DM.FindPicE (402, 3, 635, 128, “技能栏没.bmp”, “0 - 306020”, 1, 0)
aaa = 分割文本 (找图返回, “|”, )
.如果真 (到整数 (aaa [2]) ≠ -1 且 到整数 (aaa [3]) ≠ -1)
x坐标 = 到整数 (aaa [2]) + 24
y坐标 = 到整数 (aaa [3]) + 24
DM.MoveTo (x坐标, y坐标)
延迟 (300)
DM.LeftClick ()
.如果真结束
DM.SetDict (0, “启动石器-登录.txt”)
找彩虹返回 = DM.FindStrE (400, 200, 523, 261, “彩虹的精灵”, “ffffff”, 1)
bbb = 分割文本 (找彩虹返回, “|”, )
.如果真 (到整数 (bbb [2]) ≠ -1 且 到整数 (bbb [3]) ≠ -1)
彩虹x坐标 = 到整数 (bbb [2]) + 35
彩虹y坐标 = 到整数 (bbb [3]) + 8
DM.MoveTo (彩虹x坐标, 彩虹y坐标)
延迟 (500)
DM.LeftClick ()
.如果真结束
找图返回 = DM.FindPicE (402, 3, 635, 128, “技能栏没.bmp”, “0 - 306020”, 1, 0)
aaa = 分割文本 (找图返回, “|”, )
.如果真 (到整数 (aaa [2]) ≠ -1 且 到整数 (aaa [3]) ≠ -1)
' DM.MoveTo (516, 380) '队长
' DM.MoveTo (495, 400) '队员
DM.MoveTo (转对象x, 转对象y)
延迟 (500)
DM.LeftClick ()
.如果真结束
.如果真结束
' 检测被转对象部分
自己被转 = DM.FindColor (474, 311, 482, 316, “f8f*F”, 1, 0, “自己被转x”, “自己被转y ”)
.如果真 (自己被转 = 1)
转对象x = 495
转对象y = 400
调试输出 (“自己被转了”)
_转属性测试_被单击 ()
.如果真结束
队长被转 = DM.FindColor (511, 291, 517, 297, “f8f*F”, 1, 0, “队长被转x”, “队长被转y ”)
.如果真 (队长被转 = 1)
转对象x = 516
转对象y = 380
调试输出 (“队长被转了”)
_转属性测试_被单击 ()
.如果真结束
.如果真 (队长被转 ≠ 1 且 自己被转 ≠ 1)
转对象x = 0
转对象y = 0
调试输出 (“没人被转了”)
_转属性测试_被单击 ()
.如果真结束
|
最佳答案
查看完整内容
你的表述我理解不了,但是看你代码有问题
你仔细检查下你的所有大漠指令,如果你的逻辑没问题,肯定是你用错了
比如Findcclor
long FindColor(x1, y1, x2, y2, color, sim, dir,intX,intY)
最后两个是接收坐标的,显然你用法错了
补充内容 (2018-10-11 14:21):
你下边给了xy值,但是这个找图,找色的方法确实你理解的可能有问题
像游戏里的找色建议你使用多点找色确定某个图片或关键点存在
补充内容 (2018-10-11 14:32):
看 ...
|