【问题标题】:Lua math.random at coordinatesLua math.random 坐标
【发布时间】:2016-03-04 09:58:52
【问题描述】:

我正在尝试检查屏幕上的颜色,如果颜色与我预定的字符串一起返回,那么我想点击我在程序开始时设置的变量。

math.randomseed(os.time())
xvar = (math.random(100) + 300)
yvar = (math.random(100) + 560)

touch = function()
local color = getColor(300,560)
if color == 16711422 then
tap(xvar ..','.. yvar)
else 
usleep(5000000)
collectgarbage()
touch()
end
end

touch()

当我在应该是颜色的地方运行它时,我会收到警报:

/Applications/AutoTouch.app/Extensions.lua:105: 'touchDown' 的参数 #2 错误(预期数字,得到字符串)

我知道我的语言是粗制滥造的,我还在学习细则。有时我的很多错误都直接来自无效的结构。

正确的代码是 tap(x,y)。 我只是假设我可以输入我之前已经注意到的全局变量。

【问题讨论】:

    标签: lua autotouch


    【解决方案1】:

    我假设您使用提供的代码 in the docs 来实现 tap。在这种情况下,tap 是一个接受两个数字参数的函数 - 要点击的位置的 X 坐标和 Y 坐标。您正在向它传递一个字符串字符串,它是 X 坐标、逗号和 Y 坐标的串联。

    tap(xvar ..','.. yvar) 更改为tap(xvar, yvar)

    【讨论】:

    • 是的,经过一番梳理,我了解到使用引号只会告诉程序将其作为文本读取。但在代码中,我猜逗号并不是真正的逗号。第一次学习时可能很难理解。但这行得通,谢谢!
    猜你喜欢
    • 2015-05-18
    • 2014-03-15
    • 2022-09-28
    • 2023-03-06
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多