• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.2.9
软件大小:62.5M
更新时间:12-07

按键精灵iOS版
立即下载

软件版本:1.3.1
软件大小:29.2M
更新时间:09-29

按键精灵Mac版
立即下载

软件版本:1.1.0
软件大小:12.3M
更新时间:12-29

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
发新话题 回复该主题

[已解决] 屏幕旋转后tap失效的问题 [复制链接]

1#
脚本运行前,将游戏调成“顺”时针旋转90度的,运行脚本时可以正常点击,在运行过程中如果旋转成“逆”时针90度,脚本可以正确取到坐标位置,但是tap没有反应(TouchDown\TouchUp也没有反应)。
如果脚本运行前,将游戏调成“逆”时针旋转90度的,运行脚本时可以正常点击,在运行过程中如果旋转成“顺”时针90度,脚本可以正确取到坐标位置,但是tap同样没有反应(TouchDown\TouchUp也没有反应)。
按键精灵安卓版3.2.9版本

最后编辑weiwh6 最后编辑于 2018-01-13 00:40:24
本主题由 版主 gljxsd 于 2018/1/16 13:58:43 执行 主题分类 操作
2#

回复 1楼weiwh6的帖子

下面是我使用的函数,你参考一下,看能不能用。
  1. Sub TapR(x, y)
  2. If GetScreenRotation() = 3 Then
  3. Tap GetScreenX() - 1 - x, GetScreenY() - 1 - y
  4. Else
  5. Tap x, y
  6. End If
  7. End Sub
复制代码
坐标 x,y 是取逆时针(GetScreenRotation()=1)时的值。

3#

如果脚本运行前,将游戏调成“逆”时针旋转90度的,运行脚本时可以正常点击,在运行过程中如果旋转成“顺”时针90度,脚本可以正确取到坐标位置;这是根据截图和traceprint出来的位置可以判断 已经正确取到了新的位置,就是tap新位置时没有反应!

4#

回复 3楼weiwh6的帖子

一般来说,脚本运行后,就按运行时的方向点击,tap 的坐标不会变,但GetPixelColor 获得的颜色、FindColor 找到的坐标 是会改变的。
下面再给你一段代码,供你参考。
我一般会在画面中,找一个点作为判断是实时方向1、3的依据
  1. ii=GetScreenRotation()//脚本运行后,这个值就不会变了。
  2. //x10,y10 是 FindColor 的结果。
  3. If (GetPixelColor(93, 1344) = "BA958B"and ii<=1) or (GetPC(93, 1344) = "BA958B" and ii=3) Then
  4. str1 = str1 & Chr(10) & "方向一致 "
  5. ShowMessage str1,1000,10,10
  6. Tap x10, y10
  7. Else
  8. str1 = str1 & Chr(10) & "方向反转 "
  9. ShowMessage str1,1000,10,10
  10. Tap GetScreenX() - 1 - x10, GetScreenY() - 1 - y10
  11. End If
  12. Function GetPC(x, y)
  13. GetPC = GetPixelColor(GetScreenX() - 1 - x, GetScreenY() - 1 - y)
  14. End Function
复制代码
你遇到的问题应该是方向反转时的情况,你直接点击 FindColor 找到的坐标是不对的。要方向一致时,才能直接点击。
如果你不追求找图后点击的速度,可以考虑使用以下函数获得实时方向(会有2~6秒的延迟)
  1. Import "ShanHai.lua"
  2. Function 实时方向()
  3. Dim UI_XML,sPos
  4. UI_XML = ShanHai.GetUIXml()
  5. sPos = Instr(1, UI_XML, "rotation=")
  6. 实时方向 = CInt(Mid(UI_XML, sPos + 10, 1))
  7. End Function
复制代码

    已有1评分我要评分查看所有评分

    5#

    解决了,谢谢了

    6#

    高手,膜拜一下

    发新话题 回复该主题