慕棠 发表于 2008-10-21 23:20:59

得到游戏中某点的颜色为什么不行呢?

我是想得到游戏中某个点的颜色.这个点.在角色移动的时候是不会变的.以前用按键精灵找时是正确可行的.现在用AUTOIT了.找到的颜色每次都不一样.这是为什么呢?而且还不是正确的颜色.我玩的是网络游戏大话西游2.游戏是在全屏模式下的.应该不会出现坐标问题.找到颜色后在游戏里输出.这是代码
HotKeySet("{HOME}","ScriptStart")
HotKeySet("{END}","ScriptEnd")

While 1
        Sleep(100)
WEnd

Func ScriptStart()
Dim $Tx,$Ty,$TpPixel
$Tx=373
$Ty=473

$TpPixel=PixelGetColor("",$Tx,$Ty)
$TpPixel=Hex($TpPixel)
Send($TpPixel&"-->")

EndFunc

Func ScriptEnd()
        Exit
EndFunc

[ 本帖最后由 慕棠 于 2008-10-22 09:55 编辑 ]

gaoyuan22 发表于 2008-10-22 03:27:24

回复 1# 慕棠 的帖子

显然,楼主你发的代码,并不是全部。
所以,原因可能并不好判断。

但是呢,这里有两条,你需要改写一下。
$TpPixel=PixelGetColor($Tx,$Ty)
直接抓屏幕颜色,写成上面这样就可以拉。

Global$Tx,$Ty,$TpPixel
Dim 在游侠里是定义全局变量,但是在autoit里不是。
需要用 Global来定义全局变量。

我想这第二点很可能是你问题的原因。
因为你没有定义全局变量,那么你的代码如果在多个子程序间转换就会丢失掉你开始附的变量值。

这是我的猜测,给你参考。

慕棠 发表于 2008-10-22 09:54:40

谢楼上的朋友..不过我想应该不会是全局变量的问题..因为这就是全部代码哦.
因为我就是只是测试找色..把每个点都测试通过以后我才敢做整个脚本啊.要不然做出来错误就不好找了..

已经搞定啦.就是那个得到颜色的函数的问题.呵呵...:face (33):

51ak 发表于 2009-11-21 22:43:16

做个标记,要用时好找。

wangwen916 发表于 2009-11-22 01:50:10

学习了.........顺便支持下!

cheng8457 发表于 2012-1-8 14:36:46

学习了,谢谢。
页: [1]
查看完整版本: 得到游戏中某点的颜色为什么不行呢?