TC官方合作论坛

标题: 自动加血问题 [打印本页]

作者: wuhuaifeng    时间: 2013-6-3 20:34
标题: 自动加血问题
角色的血量长度为Y坐标。X坐标不变。
起点坐标比终点坐标大。。怎么计算百分比公式?
试了好几种不管用。。求助个位大大。。谢谢了。。坐等!

作者: wuhuaifeng    时间: 2013-6-3 20:40
自顶沙发。求大大看看!
作者: dengdaijihui    时间: 2013-6-3 21:29
X/100 ?  猜得 没试过··
作者: zhkq    时间: 2013-6-3 21:32
首先要明确你那个游戏血条颜色是统一颜色还是渐变
要明确空血颜色是纯色吗比如黑色,然后考虑如何自动加血
1、假如血条是纯色,你就可以根据百分比计算一个监控区间,这个区间找不到你的血条颜色,就补血
2、假如空血之后是纯色,你还是计算出需要监控区间的坐标,找到空血的颜色就补血

假设你的血条 是 20,470开始 20,70结束
你想在50%以下自动补
区间按照20像素考虑
区间坐标   上坐标 20,470-400*0.5   下坐标 20,470-400*0.5+20

找色的语法见下面例程


函数空间:中文:图像
英文:color
函数描述:模糊找色
函数原型:模糊找色(lx,ly,rx,ry,color,sim,scantype,rx,ry)
findrectpixelcolorex(lx,ly,rx,ry,color,sim,scantype,rx,ry)
函数参数:lx: 左上角的x坐标 注:lx<RX
ly: 左上角的y坐标 注:ly<RY
rx: 右下角的x坐标 注:lx<RX
ry: 右下角的y坐标 注:ly<RY
color: 十六进制颜色值,如 #FFFFFF、#0F30DE
sim: 颜色的相似度(取值范围0.5~1.0)
scantype: 扫描方式,0: 从左上到右下 1: 从中间到四周 2: 从右下到左上
rx: 返回的x坐标
ry: 返回的y坐标
返回值:如果出现的颜色值是区域内指定坐标点的颜色,返回真,否则返回假,返回所找图片在指定窗口的x坐标与y坐标的参数 返回的x坐标,返回的y坐标
脚本示例:中文示例:复制代码

  • 返回的x坐标=0,返回的y坐标=0
  • 是否找到=图像.模糊找色(10,10,500,600,#1E3C04,0.8,0,返回的x坐标,返回的y坐标)
  • 如果(是否找到)
  •   辅助.消息框(返回的x坐标)
  •   辅助.消息框(返回的y坐标)
  •   辅助.消息框("找到该颜色")
  • 否则
  •   辅助.消息框("没有找到该颜色")
  • 如果结束


英文示例:复制代码

  • x=0,y=0
  • tru=color.findrectpixelcolorex(10,10,500,600,#1E3C04,0.8,0,x,y)
  • if(tru)
  •   help.messagebox(x)
  •   help.messagebox(y)
  •   help.messagebox("找到该颜色")
  • else
  •   help.messagebox("没有找到该颜色")
  • endif



作者: wuhuaifeng    时间: 2013-6-3 22:03
回复 4楼zhkq的帖子

血条颜色是渐变的。而且不是规律的渐变。就像深浅色混合一样。有的地方深有的地方浅。不是终点浅起点深!
作者: wuhuaifeng    时间: 2013-6-3 22:04
回复 4楼zhkq的帖子

空血厚也非完全纯色。基本趋向于灰白色。但还存在色差。
作者: wuhuaifeng    时间: 2013-6-3 22:30
回复 3楼dengdaijihui的帖子

而且。坐标表示的不就是一个坐标点一个像素么?你那个比如根本不成立啊。
作者: zhkq    时间: 2013-6-7 16:01
贴张图才有说服力




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