TC官方合作论坛

 找回密码
 立即注册
查看: 5360|回复: 33

★★★★☆欢迎大家来此发帖提问 定期来帮助大家 解答问题

[复制链接]
发表于 2013-2-4 16:03:25 | 显示全部楼层 |阅读模式

马上加入TC

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

x
   若在学习TC中,遇到一些基本的问题可以在此发帖提问!欢迎大家来此发帖,共同讨论您在学习中遇到的一些问题。

回复

使用道具 举报

 楼主| 发表于 2013-2-4 16:03:52 | 显示全部楼层
占楼备用
回复 支持 反对

使用道具 举报

发表于 2013-2-4 17:39:11 | 显示全部楼层
哈哈,版主,这个我喜欢,,刚学习没多久啊,问题多多,希望版主不吝赐教,不要感到问题多才好哦....
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-4 17:46:16 | 显示全部楼层
回复 3楼honge10000的帖子

嗯嗯
回复 支持 反对

使用道具 举报

发表于 2013-2-4 19:44:49 | 显示全部楼层
游戏操作流程是这样的:  点击NPC老兵--->再点对话框中的字"进入庄园"---->接着再点又出现的对话框中的字"前往庄园",,游戏人物就会被传送进入庄园
其中PNC老兵是绿色,,两次对话框中的字都是黄色..写的程序只完成了一步:点击NPC老兵,,接着找到了字,鼠标也放在了字的位置,却显示没找到...有什么问题???该如何解决???

代码如下:
  1. 功能 比奇进庄园()//寻找老兵进庄园
  2.     dm.SetPath("D:\\我的文档\\TC学习\\游戏字库")
  3.     dm.SetDict(0,"1字库.txt")
  4.     窗口句柄=窗口.找到窗口("传奇外传")
  5.     是否绑定=dm.BindWindow(窗口句柄,"dx","normal","dx",0)
  6.     intX,intY
  7.     dm.FindStr(0,0,800,600,"老兵","00ff00-000000",1.0,intX,intY)
  8.     如果(intX>0)
  9.         dm.MoveTo(intX+30,intY+3)
  10.         dm.LeftDoubleClick()//点击NPC老兵
  11.     否则
  12.         辅助.消息框("没找到")
  13.     如果结束
  14.     辅助.等待(50)
  15.     dm.FindStr(0,0,800,600,"进入庄园","ffff00-000000",1.0,intX,intY)
  16.     如果(intX>0)
  17.         辅助.消息框(intX)
  18.         辅助.消息框(intY)
  19.         dm.MoveTo(intX+20,intY+6)
  20.         dm.LeftDoubleClick()
  21.     否则
  22.         辅助.消息框("没找到")
  23.     如果结束
  24.     辅助.等待(50)
  25.     //intX,intY
  26.     dm.FindStr(0,0,800,600,"前往庄园","ffff00-000000",1.0,intX,intY)
  27.     如果(intX>0)
  28.         //辅助.消息框(intX)
  29.         //辅助.消息框(intY)
  30.         dm.MoveTo(intX+20,intY+3)
  31.         dm.LeftDoubleClick()
  32.     否则
  33.         辅助.消息框("没找到")
  34.     如果结束
  35. 功能结束
复制代码


回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-5 12:06:06 | 显示全部楼层
回复 5楼honge10000的帖子


回答时间晚了点,还望见谅!

你的程序中出现了这样一个问题,当鼠标刚好去点击NPC老兵的时候 这个老兵对话框还没有消失就进入了"找进入庄园" 而这时肯定是找不到 结果就会弹出消息框没有找到 在点击消息框后就找"前往庄园"命令了,而那时才出现"找进入庄园"的消息框。
解决方法:
1、你可以尝试在找完"NPC老兵"和找完"进入庄园"后,延时的时间改长一点,比如:辅助.等待(2000) 再执行找进入庄园的命令,找完进入庄园后再延时长一点再找前往庄园。
2、将您的代码改为3个循环语句,分别为:找NPC老兵、找进入庄园、前往庄园。当NPC老兵找到时就点击NPC老兵跳出循环,接着进入找"进入庄园"的对话框循环里面,找到后点击对话框跳出循环,再进入找"前往庄园"的对话框循环里面,最后找到点击前往庄园对话框再跳出,这样就防止一次找不到的结果,而循环则可以解决一次找不到接着找,直到找到为止。


回复 支持 反对

使用道具 举报

发表于 2013-2-6 22:21:22 | 显示全部楼层
回复 6楼T_暗乄殇灬的帖子

感谢楼主的详细解答,我先试试....
回复 支持 反对

使用道具 举报

发表于 2013-2-7 13:33:44 | 显示全部楼层

QQ截图20130207132326.png
采用等待2秒和循环找图找字,找到字后鼠标停在字上不点击,我用鼠标点击"进入庄园"后,鼠标马上移到找到的字"前往庄园"上,却不点击...

困扰很久了...哎...真搞不明白咋回事
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-7 13:57:39 | 显示全部楼层
回复 8楼honge10000的帖子

方法1:移动和点击后面都加上延时,大概100毫秒的样子。
方法2:增加鼠标点击次数。
方法3:如果都不行的话,可能是绑定模式有问题,虽然这种模式下支持了鼠标的移动,但是不支持鼠标的点击。你可以这样测试:将绑定鼠标的模式改为前台的模式(也就是normal) ,如果normal下是会点击的话,那么就可以确定这种鼠标参数进行绑定后不支持鼠标点击。
理解绑定模式的三个参数:哪个参数指的谁就改哪个参数,其它参数可不用变。
回复 支持 反对

使用道具 举报

发表于 2013-2-7 19:06:15 | 显示全部楼层
回复 9楼T_暗乄殇灬的帖子

经验哪,,,谢谢楼主的宝贵经验....
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-6-10 12:38 , Processed in 0.047245 second(s), 24 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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