caogenbc 2023-02-24 19:01 采纳率: 66.7%
浏览 80
已结题

按键手机助手!急。只能执行第一个子程序就罚站了,调试没问题。

用按键精灵手机助手写了一个脚本程序 (用PC端模拟器调试的,循环执行一套动作),调试一切正常,生成小精灵后再用PC端模拟器执行,只能执行脚本程序中的第一个子程序。是什么原因,怎么解决?感谢!代码如下:

Dim y =Int(501 * Rnd() + 500)
Do
    Call ZG()
    For 120
        Call PG()
        Call SG()
        Call CSW()
    Next
    Call HG()
Loop 
Sub ZG()
    Randomize
    //展开快捷栏
    Dim z,k
    z = Int(60 * Rnd() + 1200)
    k = Int(33 * Rnd() + 326)
    Dim a,b
    a = Int(59 * Rnd() + 904)
    b = Int(63 * Rnd() + 223)
    Tap z, k
    Delay y
    //默认点击快捷键2
    Tap a, b 
    Delay y
End Sub
//找到抛出并点击,否则找武器点击后抛出
Sub PG()
    Randomize
    Do
        Dim intX,intY
        FindPic 931,586,1075,719,"Attachment:paogan.png","000000",0,0.9,intX,intY
        If intX > -1 And intY > -1 Then 
            Dim p,c
            p = Int(64 * Rnd() + 972)
            c = Int(65 * Rnd() + 619)
            Tap p,c
            Delay y
            Exit Do
        Else 
            Dim intX1,intY1
            FindMultiColor 1001,446,1208,611,"C2C2C2","12|20|CBCBCB,4|23|CBCBCB,29|44|C1C1C1",0,0.9,intX1,intY1
            If intX1 > -1 And intY1 > -1 Then 
                Dim w,q
                w = Int(66 * Rnd() + 1080)
                q = Int(66 * Rnd() + 483)
                Tap w,q
                Delay y
            End If
        End If
    Loop
End Sub         

// 收回
Sub SG()
    Randomize
    Do
        Dim intX,intY
        FindMultiColor 1023,429,1188,599,"DFBC9F","4|6|F3C59F,3|-1|C9A78C,4|-2|B99D85",0,0.9,intX,intY
        If intX > -1 And intY > -1 Then 
            Exit Do
        End If
    Loop
    Dim s,g,l
    s = Int(66 * Rnd() + 1080)
    g = Int(66 * Rnd() + 483)
    l = Int(6 * Rnd() + 10)
    For l
        Tap s,g
        Delay y
    Next
End Sub
Sub CSW ()
    Randomize
    Dim o 
    o =Int(501 * Rnd() + 500)
    Dim eat
    eat =Int(2001 * Rnd() + 6000)
    Dim intX,intY
    FindPic 84,36,213,69,"Attachment:baoshidu.png","000000",0,0.9,intX,intY
    If intX > -1 And intY > -1 Then 
        Dim a,b
        a = Int(65 * Rnd() + 1200)
        b = Int(30 * Rnd() + 328)
        Tap a, b
        Delay o
    End If
    Dim c,d
    c = Int(42 * Rnd() + 233)
    d = Int(55 * Rnd() + 1104)
    Tap d,c
    Delay o
    Dim i,j
    i = Int(62 * Rnd() + 1082)
    j = Int(50 * Rnd() + 491)
    Tap i, j
    Delay eat
    Call ZG()
End Sub
Sub HG()
    Randomize
    Dim y 
    y = Int(1001 * Rnd() + 1000)
    Dim q,r
    q = Int(74 * Rnd() + 1152)
    r = Int(43 * Rnd() + 217)
    Tap q, r
    Delay y
    Dim a,b
    a = Int(47 * Rnd() + 348)
    b = Int(50 * Rnd() + 639)
    Tap a,b
    Delay y
    Dim c,d
    c = Int(63 * Rnd() + 774)
    d = Int(69 * Rnd() + 624)
    Tap c, d
    Delay y
    Dim e,f
    e = Int(72 * Rnd() + 201)
    f = Int(43 * Rnd() + 660)
    Tap e,f
    Delay y
    Dim g,h
    g = Int(127 * Rnd() + 707)
    h = Int(33 * Rnd() + 477)
    Tap g, h
    Delay y
    Dim i,j
    i = Int(62 * Rnd() + 678)
    j = Int(60 * Rnd() + 88)
    Tap i, j
    Delay y
    Dim k,l
    k = Int(68 * Rnd() + 99)
    l = Int(40 * Rnd() + 663)
    Tap k, l
    Delay y
    Dim m,n
    m = Int(62 * Rnd() + 776)
    n = Int(63 * Rnd() + 626)
    Tap m, n
    Delay y
    Dim o,p
    o = Int(37 * Rnd() + 1200)
    p = Int(32 * Rnd() + 10)
    Tap o,p
    Delay y
End Sub

请解答

  • 写回答

6条回答 默认 最新

  • 「已注销」 2023-02-24 19:40
    关注

    参考GPT和自己的思路,从代码来看,循环应该是没有问题的。在 PC 端模拟器调试正常,但在生成的小精灵上只执行第一个子程序,这可能是因为按键精灵手机助手的工作原理和 PC 端模拟器有所不同,导致脚本无法正常执行。为了解决这个问题,你可以尝试以下方法:

    确保按键精灵手机助手和模拟器都已经升级到最新版本,以确保兼容性问题的最小化。

    确保手机和模拟器的分辨率和 DPI 设置是一致的,这有助于保持 UI 的稳定性。

    检查脚本中的变量是否正确设置,以及每个子程序是否正确返回。

    尝试逐步调试代码,以找出问题所在。你可以在代码中添加一些日志来辅助调试,例如记录每个子程序的执行情况,以及变量的值等等。
    在生成的小精灵中只能执行第一个子程序,原因可能是小精灵中的循环控制有问题。你可以尝试对程序进行以下修改:

    1 将循环语句 For 120 修改为 For i = 1 To 120。
    2 在 CSW() 子程序的最后加上 Delay o,让程序等待一段时间。
    3 在主程序的 Loop 前加上 Delay y,让程序等待一段时间。
    这些修改应该可以让小精灵能够正确执行程序中的循环控制和延迟等操作。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月25日
  • 已采纳回答 2月25日
  • 创建了问题 2月24日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看