找回密码
 加入
搜索
查看: 1851|回复: 5

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

[复制链接]
发表于 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 编辑 ]
发表于 2008-10-22 03:27:24 | 显示全部楼层

回复 1# 慕棠 的帖子

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

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

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

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

这是我的猜测,给你参考。
 楼主| 发表于 2008-10-22 09:54:40 | 显示全部楼层
谢楼上的朋友..不过我想应该不会是全局变量的问题..因为这就是全部代码哦.
因为我就是只是测试找色..把每个点都测试通过以后我才敢做整个脚本啊.要不然做出来错误就不好找了..

已经搞定啦.就是那个得到颜色的函数的问题.呵呵...
发表于 2009-11-21 22:43:16 | 显示全部楼层
做个标记,要用时好找。
发表于 2009-11-22 01:50:10 | 显示全部楼层
学习了.........顺便支持下!
发表于 2012-1-8 14:36:46 | 显示全部楼层
学习了,谢谢。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-19 18:45 , Processed in 0.071578 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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