|
Script
Expert支持条件判断的脚本,格式如下:
If <逻辑判断语句>
...<脚本段1>...
Else
...<脚本段2>...
EndIf
说明:根据逻辑判断语句来确定执行<脚本段1>的语句还是<脚本段2>的语句。可支持无限级嵌套。
举例:
if x<y
SayString x<y
else
SayString x>=y
EndIf
虽然,我们可以通过Read Color/Mem <...>先读取屏幕点颜色或者内存数据,然后利用变量进行比较判断,但作为一种经常用到的脚本,Script
Expert也设计了专门的语句格式以便简化脚本的编写。
判断颜色的脚本格式:
If Color <x> <y> <op> <ColorRGB>
<...>
Else
<...>
EndIf
判断内存的脚本格式:
If Mem <ValueType> <Address> <op>
<Value>
<...>
Else
<...>
EndIf
注:<op>是逻辑操作符,可以是=(等于),>(大于),<(小于),>=(大于等于),<=(小于等于),<>(不等于)
<ValueType>表示数值类型,可以是Byte/Word/DWord/Float,<Address>表示内存地址
。
为了更好的帮助您扫描屏幕上的点的颜色,Script Expert还提供以下脚本:
If MoveToColor <ColorRGB> <x1>
<y1> <x2> <y2>
<...>
Else
<...>
EndIf
说明:该脚本的功能为寻找(x1,y1)(x2,y2)范围内的第一个颜色为指定<ColorRGB>的点,并将鼠标移动到该点。
举例:
If MoveToColor $FFFFFF 0 0 1024 768
Mouse LClick 1
EndIf
该脚本在(0,0)(1024,768)范围内寻找第一个颜色为$FFFFFF的点,如果找到,则自动会将鼠标移动到该点,并点击鼠标左键(Mouse
LClick 1)。
以圆形方式从内而外的搜索方式:
If MoveToColorEx <ColorRGB> <x0>
<y0> <r>
<...>
Else
<...>
EndIf
说明:该脚本的功能为寻找以(x0,y0)为圆心,半径(r)范围内的离圆心最近的第一个颜色为指定<ColorRGB>的点,并将鼠标移动到该点。
举例:
If MoveToColorEx $FFFFFF 512 384 512
Mouse LClick 1
EndIf
该脚本在(0,0)(1024,768)范围内寻找第一个颜色为$FFFFFF的点,如果找到,则自动会将鼠标移动到该点,并点击鼠标左键(Mouse
LClick 1)。
提示:为了提高代码的运行速度,请尽量减少扫描的面积。
图形识别脚本:
If MoveToPic <PicFile> <x1> <y1>
<x2> <y2> <Diff>
<...>
Else
<...>
EndIf
说明:该脚本的功能为识别(x1,y1)(x2,y2)范围内是否有指定<PicFile>的图形,如果有,则将鼠标移动到该图象处。<Diff>指定图象识别的差异度,取值应当在0..1之间,该值越小,则图象识别的精确度越高,反之则越低。
If MoveToPicEx <PicFile> <x0> <y0>
<r> <Diff>
<...>
Else
<...>
EndIf
说明:该脚本的功能为寻找以(x0,y0)为圆心,半径(r)范围内是否有指定<PicFile>的图形,如果有,则将鼠标移动到该图象处。<Diff>指定图象识别的差异度,取值应当在0..1之间,该值越小,则图象识别的精确度越高,反之则越低。
注意:<PicFile>指定需要识别的图形文件,请注意,该文件最好以24bit格式保存,您可以将PicFile保存在某一个目录中,或者直接保存在SE主程序或者调用该图片的打包EXE脚本所在的目录,另外,如果需要使用透明色,请将图片上除了需要的图形之外的面积涂上另一种单一的颜色,Script
Expert会自动将这些颜色识别为透明色。
举例:
If MoveToPic 1.bmp 0 0 1024 768 0.1
Mouse LClick 1
Else
SayString 屏幕上没有发现指定图形
EndIf
该脚本在(0,0)(1024,768)范围内搜索指定图片1.bmp的图形,如果发现屏幕上有该图形,则自动将鼠标移到该图形处并点击鼠标左键。
If MoveToPicEx 1.bmp 512 384 512 0.1
Mouse LClick 1
Else
SayString 屏幕上没有发现指定图形
EndIf
该脚本在以(512,384)为圆心,半径(512)范围内搜索指定图片1.bmp的图形,如果发现屏幕上有该图形,则自动将鼠标移到该图形处并点击鼠标左键。
提示:为了提高代码的运行速度,请尽量减少扫描的面积,并且使需要识别的bmp图片尽可能的小。 |