TC官方合作论坛

标题: 游戏全屏时,脚本运行有问题,求帮助,附源代码 [打印本页]

作者: hcf2009    时间: 2012-7-4 14:58
标题: 游戏全屏时,脚本运行有问题,求帮助,附源代码
这是找到窗口然后执行,但在全屏的时候,不得行。然后我又用另一种方法,不用命令“窗口.找到窗口”,就直接用图像找图,结果貌似它不找游戏里面的图,它好像找的是电脑桌面的啊。
求助,我该怎么办,才能让脚本在全屏游戏里面运行
附源码:




  1. 空间 导航精灵
  2. 整型 线程句柄
  3. 功能 逻辑型 循环开始()
  4. 字符型 游戏窗口名
  5. 游戏窗口名=编辑框.获得文本("编辑框0")    //获得游戏窗口名字
  6. 循环(真)
  7. 整型 窗口句柄
  8. 窗口句柄=窗口.找到窗口(游戏窗口名)
  9. //----------//
  10. 如果 (窗口句柄==0)
  11. 辅助.消息框("未找到游戏窗口,可能是你未打开游戏或者游戏窗口名字填写错误或者游戏已被意外关闭!")
  12. 辅助.设置托盘("导航精灵已停止服务",假)
  13. break
  14. 否则   
  15. // 辅助.消息框("找到啦!")
  16. //----------//
  17. 辅助.设置托盘("导航精灵正在服务中",假)
  18. 窗口.激活(窗口句柄)
  19. //
  20. ////说明:支持多张图片(图片与图片中间使用 竖线隔开)和根据四角的颜色判断是否为透明图
  21. 整型 X,Y,图片序号
  22. 图片序号=窗口.找图(窗口句柄,0,0,1920,1080,"rc:\\door.bmp|rc:\\door0.bmp|rc:\\stop.bmp|rc:\\stop0.bmp",#101120,0.7,1,X,Y)
  23. //图片序号=图像.找图(0,0,1920,1080,"rc:\\door.bmp|rc:\\door0.bmp|rc:\\stop.bmp|rc:\\stop0.bmp",#101120,0.7,1,X,Y)

  24. 如果 (图片序号<0)
  25. // 辅助.消息框("没找到星门或者空间站")
  26.         辅助.等待(2000)
  27. //        break
  28. 否则
  29. // 辅助.消息框("找到图片啦!!!")
  30. 窗口.鼠标移动(窗口句柄,X+4,Y+4)
  31. 辅助.等待(500)
  32. 窗口.鼠标左键单击(窗口句柄,X+4,Y+4)
  33. 辅助.等待(50)
  34. 窗口.发送按键(窗口句柄,68)    //按D键
  35. 辅助.等待(2000)
  36. 如果结束
  37. 如果结束
  38. 循环结束
  39. 返回 真
  40. 功能结束
  41. //功能 逻辑型 热键0_热键()
  42. ////辅助.消息框("开始")
  43. //线程句柄=线程.开启("导航精灵.循环开始","")
  44. //返回 真
  45. //功能结束
  46. //
  47. //功能 逻辑型 热键1_热键()
  48. ////辅助.消息框("结束")
  49. //线程.关闭(线程句柄)
  50. //辅助.设置托盘("导航精灵已停止服务",假)
  51. //返回 真
  52. //功能结束
  53. 功能 逻辑型 按钮0_点击()
  54. //这里添加你要执行的代码
  55. 辅助.消息框(文件.读文件("rc:\\attention.txt"))
  56. 返回 真
  57. 功能结束

  58. ////用循环的等待按键

  59. //while(true)
  60. //if(键值==)
  61. //    执行代码(可以把其它命令写成一个小程序,直接引入)
  62. //    break
  63. //endif
  64. //键盘=键盘.等待按键()
  65. //endwhile
  66. 功能 逻辑型 按钮1_点击()
  67. //这里添加你要执行的代码
  68. 整型 键值=键盘.等待按键()
  69. //先得到按键码
  70. //用循环的等待按键
  71. 循环(真)
  72.     如果(键值==219)
  73. //        辅助.消息框("219")
  74.     线程句柄=线程.开启("导航精灵.循环开始","")
  75. 否则
  76.     如果(键值==221)
  77. //        辅助.消息框("221")
  78.         线程.关闭(线程句柄)
  79. 辅助.设置托盘("导航精灵已停止服务",假)
  80.     如果结束
  81. //break
  82. 如果结束
  83. 辅助.等待(500)
  84. 键值=键盘.等待按键()
  85. 循环结束
  86. 返回 真
  87. 功能结束
  88. 空间结束
复制代码

作者: 陌上青衣。    时间: 2012-7-4 15:32
如果你直接定义 整型窗口句柄,而不对窗口句柄赋值(找窗口),句柄默认 为0
桌面的窗口句柄为0
你使用窗口找图就是找桌面的图
作者: hcf2009    时间: 2012-7-4 15:46
回复 2楼陌上青衣。的帖子

可不可以给我讲详细一点啊,我有点看不懂,就是你给我讲讲应该怎么做,谢谢了啊,这个问题真的挺纠结的,谢谢了
作者: hcf2009    时间: 2012-7-4 15:47
回复 2楼陌上青衣。的帖子

你帮我举一个简单的例子吧,我套用着来。。。谢谢
作者: 陌上青衣。    时间: 2012-7-4 15:54
游戏全屏的时候不能找到窗口么?
作者: hcf2009    时间: 2012-7-4 16:03
回复 5楼陌上青衣。的帖子

可以找到窗口,而且我在全屏游戏里面也可以用热键启动。可是游戏里面好像找图的那些啥的代码没有执行,就是鼠标没有动什么的。我觉得是它根本就没有在游戏里面找。。。谢谢你了,期待你的回答
作者: 陌上青衣。    时间: 2012-7-4 16:07
找图命令的图片是全屏的时候截的吧
作者: hcf2009    时间: 2012-7-4 16:15
回复 7楼陌上青衣。的帖子

找图不是全屏,全屏截不了图。但是我把游戏窗口化了,窗口化时,游戏的分辨率和全屏时是一样的,所以图片肯定是没得问题的,你有QQ没,你给我QQ讲一下嘛,谢谢了,我的QQ719572206
作者: 陌上青衣。    时间: 2012-7-4 16:18
那你窗口化能找到图么,分辨率应该不一样,全屏不能看到边框的, 窗口化是可以看到边框的
作者: hcf2009    时间: 2012-7-4 16:22
回复 9楼陌上青衣。的帖子

窗口化时,游戏的分辨率和全屏时是一样的,在分辨率和全屏分辨率一样的窗口化时,脚本能找到图片,图片是没有问题的(图片大小形状不管全屏还是窗口都是一样的),问题在于只要游戏一全屏了,脚本就不能找图片了哦
作者: hcf2009    时间: 2012-7-4 16:25
回复 9楼陌上青衣。的帖子

等等,我再看看,好像图片也应该是找得到的,不然的话我写的那个提示是要说明的
作者: hcf2009    时间: 2012-7-4 16:33
回复 9楼陌上青衣。的帖子

我好像找到原因了,它居然提示没有找到图片。说明是图片错了。因为尽管是分辨率一样,但毕竟不是全屏的。我想问下,游戏全部的时候,那个aa抓抓不能用啊,要怎么实现游戏全屏时的截图呢,非常感谢你的帮助
作者: 陌上青衣。    时间: 2012-7-4 16:42
:-你没明白我意思,

相同的分辨率一样, 窗口化包含游戏窗口的标题,边框,

而全屏没有边框, 图片自然大些
作者: hcf2009    时间: 2012-7-4 16:48
回复 13楼陌上青衣。的帖子

求你教教我怎么在游戏全屏的时候截图呢,我已经知道是图片的问题了。可是用ab抓抓在全屏时抓不了,游戏自带一个截图功能,是用的ab抓抓那个热键,又改不了。我又想那就用游戏自带的截图吧,然后把游戏截的图片全屏,这样就跟游戏全屏时是一样的了,再用ab抓抓,可是这样找出来 的图片也不行,求解释。。。。
作者: 陌上青衣。    时间: 2012-7-4 16:48
回复 12楼hcf2009的帖子

貌似有快捷键
作者: hcf2009    时间: 2012-7-4 16:51
回复 13楼陌上青衣。的帖子

ab抓抓抓出来 的图是24位的,而游戏自带截的图是32位的,可能原因就在于这里。那我该怎么办呢
作者: 陌上青衣。    时间: 2012-7-4 16:54
回复 16楼hcf2009的帖子
AB抓抓另存为试试
作者: hcf2009    时间: 2012-7-4 16:59
回复 17楼陌上青衣。的帖子

我又看了下,游戏自己截的图是24的,但是jpg格式,不是bmp。这样就经过 了这样几个流程:游戏截图为jpg。。。把截图全屏打开。。用ab抓抓截图为bmp。。。不知道这中间会不会有什么问题
作者: cylhb    时间: 2012-7-4 17:17
全屏之后图片拉伸了?
作者: hcf2009    时间: 2012-7-4 17:59
回复 17楼陌上青衣。的帖子

哎,我觉得图片应该不是问题啊,而且都是些小图片,10几像素*10几的。我又重新换了些明显突出的图片,它居然还是找不到,我严重怀疑它虽然是找到游戏窗口了(全屏)但是跟本就没去找游戏里面的图片!很有可能是这样的,图片应该没问题啊,真心纠结
作者: hcf2009    时间: 2012-7-4 18:01
回复 19楼cylhb的帖子

图片我觉得没问题,我现在严重怀疑脚本虽然是找到窗口了(全屏)但是根本就没去找游戏里面的图片,就像是AB抓抓一样,在全屏时,它就只抓的是桌面的图片,不是游戏(全屏)的图片,求解,谢谢啦
作者: 陌上青衣。    时间: 2012-7-4 18:01
回复 20楼hcf2009的帖子

是静态图片吧,不是哪种会动或者闪光的吧
作者: hcf2009    时间: 2012-7-4 18:20
回复 22楼陌上青衣。的帖子

是静态的,就是一个图标而已。我怀疑不是图片的原因了。比如你如果用ab抓抓去抓全屏的游戏的图的话,是抓不到的,抓出来 的是桌面的图,不是游戏的图,我觉得同理,脚本虽然找到游戏窗口了,但是它根本就不去找游戏里面的图,而是桌面的图,我严重怀疑是这样的啊
作者: cylhb    时间: 2012-7-4 18:22
全屏抓图抓到的是桌面?这么神奇???还真没遇过..
作者: hcf2009    时间: 2012-7-4 18:25
回复 24楼cylhb的帖子

哎, 我完全糊涂啦,我又把截图设置为桌面壁纸了,它还是找不到。说明也没有找桌面。我的天呀,这脚本到底哪里出了问题呢,你们谁帮我看看呢,为什么全屏就不能用呢,只有窗口可以用,你能帮我看看脚本代码么. 求帮助,QQ719572206
作者: cylhb    时间: 2012-7-4 18:55
-.-发代码吧




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1