TC官方合作论坛

标题: 关于检测游戏人物停止走动 [打印本页]

作者: l623557320    时间: 2013-5-4 01:48
标题: 关于检测游戏人物停止走动
请问各位平时是怎么样检测人物已经停止走动,我是新手,暂时没好点思路(暂时只想到检测游戏内的图片或者文字),请各位帮帮忙,谢谢了.如有不便说,也没关系.
作者: l623557320    时间: 2013-5-4 01:50
我说找图找字不是很好的原因是,游戏内画面什么的有变动.经常不能找到图片或者文字
作者: 舍我其谁    时间: 2013-5-4 08:04
找不到 移动特征
作者: 陌上青衣。    时间: 2013-5-4 08:50
  1. 函数简介:
  2. 判断指定的区域,在指定的时间内(秒),图像数据是否一直不变.(卡屏).
  3. 函数原型:
  4. long IsDisplayDead(int x1,int y1,int x2,int y2,int t)
  5. 参数定义:
  6. x1 整型数:区域的左上X坐标
  7. y1 整型数:区域的左上Y坐标
  8. x2 整型数:区域的右下X坐标
  9. y2 整型数:区域的右下Y坐标
  10. t  整型数:需要等待的时间,单位是秒
  11. 返回值:
  12. 整型数:
  13. 0 : 没有卡屏,图像数据在变化.
  14. 1 : 卡屏. 图像数据在指定的时间内一直没有变化.

复制代码

作者: 幼园留级老油条    时间: 2013-5-4 09:52
  1. 其实我们稍微动下脑经这些都不是问题,不过简单的一句也可以代替是否到达,

  2. 循环(找图<0)
  3. 辅助.等待
  4. 循环结束
复制代码

作者: 幼园留级老油条    时间: 2013-5-4 10:07
  1. 功能 是否到达(对象,等待秒数,延时=1000)
  2.         坐标1="",坐标2=""                  //是否到达
  3.         遍历 (i=0;i<等待秒数;i++)
  4.                 坐标1=对象.Ocr(11,11,11,11,"ffffff",1.0)
  5.                 如果 (坐标1==坐标2)
  6.                         返回 真        //照一个字过1秒对比如果==就返回真
  7.                 否则
  8.                         坐标2=坐标1
  9.                         辅助.等待(延时)
  10.                 如果结束
  11.         遍历结束
  12.         返回 假   //超时
  13. 功能结束
复制代码

作者: qiwu    时间: 2013-5-4 12:37
[code]功能 是否到达(对象,等待秒数,延时=1000)
        坐标1="",坐标2=""                  //是否到达
        遍历 (i=0;i<等待秒数;i++)
                坐标1=对象.Ocr(11,11,11,11,&......
幼园留级老油条 发表于 2013-5-4 10:07:31

这个好像看懂了。
作者: 幼园留级老油条    时间: 2013-5-4 13:06
[quote][code]功能 是否到达(对象,等待秒数,延时=1000)
        坐标1="",坐标2=""                  //是否到达
        遍历 (i=0;i<等待秒数;i++)
                坐标1=对象.Ocr(11,11,11,11,&......
[color=#99
qiwu 发表于 2013-5-4 12:37:38

那还不采纳,你在等什么
作者: alukaduo09    时间: 2013-5-4 20:00
楼上的不能采纳滴, 我来提供思路  .      

如果你会用读内存的话 就读取人物的 x y 坐标值.   并开启一个计时器或者一个循环线程然后进行对比. 发现多少秒之后坐标没有变化就是人物不动啦.  

不会使用内存的话也不是问题,  你可以用大漠或者天使的识别文字的函数.来识别显示人物坐标的数字哦,  大部分游戏都有显示当前坐标的界面吧, 一般都是在小地图附近.
作者: l623557320    时间: 2013-5-4 23:46
回复 8楼幼园留级老油条的帖子

说实话,我是新手,对于遍历语句有点蒙.能不能详细解释下啊,不好意思我蛮笨的
作者: 幼园留级老油条    时间: 2013-5-5 00:34
楼上的不能采纳滴, 我来提供思路  .      

如果你会用读内存的话 就读取人物的 x y 坐标值.   并开启一个计时器或者一个循环线程然后进行对比. 发现多少秒之后坐标没有变化就是人物不动啦.  

不会使用内存的话也不......
alukaduo09 发表于 2013-5-4 20:00:26

好像很牛逼的样子
作者: karial    时间: 2013-5-5 10:56
回复 10楼l623557320的帖子

遍历就是for循环……
作者: alukaduo09    时间: 2013-5-5 21:01
回复 11楼幼园留级老油条的帖子

抢你的采纳而已. 看来楼主不会采纳任何人了.哈哈
作者: l623557320    时间: 2013-5-5 22:36
回复 13楼alukaduo09的帖子

不是不采纳,是没有完全掌握,真不好采纳
作者: l623557320    时间: 2013-5-5 22:38
回复 12楼karial的帖子

不是不懂,是我逻辑思维不好,我说的你能懂吗
作者: l623557320    时间: 2013-5-5 22:47
回复 13楼alukaduo09的帖子

不是不采纳是已经有了最佳回复




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