Lua - getOrientation() throw Attempt to call global (a nil value)
Posted
技术标签:
【中文标题】Lua - getOrientation() throw Attempt to call global (a nil value)【英文标题】: 【发布时间】:2018-05-25 13:57:06 【问题描述】:我正在尝试创建一个自动触摸脚本,该脚本将根据屏幕方向点击 2 个不同的点。
这是我的脚本:
CREATE_TIME=2017-12-11-19-34-51;
SCREEN_SIZE="0x0";
touchDown(0, 182, 1329);
usleep(16000);
touchUp(0);
usleep(40000000);
local o = getOrientation();
alert(string.format("Screen orientation is : %d", 0))
-- Check for the close button's location
local o = getOrientation();
if o == 1 then
touchDown(0, 1016, 68);
usleep(16000);
touchUp(0);
log("Portrait");
else
touchDown(0, 1000, 1818);
usleep(16000);
touchUp(0);
log("Landscape");
end;
usleep(40000000);
touchDown(0, 827, 1114);
usleep(16000);
touchUp(0);
usleep(1000);
问题在于,在 getOrientation 行中,我在日志文件中收到错误:尝试调用全局“getOrientation”(一个 nil 值)
有人可以帮我提个建议吗?
【问题讨论】:
顺便说一句,你的意思可能是CREATE_TIME="2017-12-11-19-34-51"
。
【参考方案1】:
您可以调用 usleep 和 touchDown 而不会引发错误,这表明您使用的 AutoTouch 版本不支持 getOrientation。
我在该函数中发现的唯一两件事是 AutoTouch 参考中的相应条目,其中包含错误的代码示例:
local o = getOrientation();
alert(string.format("Screen orientation is : %d", 0));
0
应该是 o
才有意义。
否则你会一直打印Screen orientation is :0
还有一个人抱怨 getOrientation() 不管他做什么总是返回 1。
另外,在快速浏览 Autotouch 网站时,我发现至少 3 个死链接。他们网站上的最后一篇文章是 2016 年 8 月。
所以也许你最好使用其他东西。这个项目在我看来不是很有希望。
【讨论】:
是的,你对 0 的看法是正确的。这是他们文档中的一个错误,我没有看到这个问题。但无论如何,错误是在 getOrientation() 函数上。 你有类似的应用推荐吗?以上是关于Lua - getOrientation() throw Attempt to call global (a nil value)的主要内容,如果未能解决你的问题,请参考以下文章
Android SensorManager.java getOrientation 和 getRotationMatrix 算法
如何从 getOrientation() 和 Open CV 代码返回方向角度?