autojs之lua

Posted AutoJsPro教程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了autojs之lua相关的知识,希望对你有一定的参考价值。

使用场景


在autojs中使用lua


依赖jar


luaJ是一个java实现的lua脚本解释器


luaj-jse-3.0.1.jar


效果展示



autojs版本


autojs之lua


原理


  1. luaj.jar执行lua


知识点


  1. 加载jar

  2. 导入类

  3. 创建globals管理lua全局

  4. 执行lua的两种方式

  5. 获取lua变量的值


代码讲解


  1. 加载jar

let dexFilepath = "./luaj-jse-3.0.1.jar";
runtime.loadJar(dexFilepath);


  1. 导入类

importClass("org.luaj.vm2.lib.jse.JsePlatform");


  1. 创建Globals对象来管理全局状态

globals = JsePlatform.standardGlobals();


  1. 执行lua文件

var luaPath = files.path("./luaTest.lua");
globals.loadfile(luaPath).call();


  1. 获取lua变量的值

c = globals.get("c").toString();
log("c: " + c);


  1. 另一种运行lua脚本的方式

s = ""; //lua脚本
s += "x=3 ";
s += "y=4 ";
s += "print ('hello world!') ";
s += "function aa() ";
s += "print ('aaa') ";
s += "end ";
s += "aa() ";
s += "function method1() ";
s += "return x * 2 ";
s += "end ";
s += "c=method1(x) ";
chunk = globals.load(s); //加载自己写的脚本
chunk.call(); //执行脚本
c = globals.get("c").toString(); //取得脚本里的变量d的值
log("c: " + c);


  1. lua代码

x = 3
y = 4
print("hello world!")
function aa()
print("aaa")
end
aa()
function method1(x)
return x * 2
end
c = method1(x)
print(c)


完整源码


let dexFilepath = "./luaj-jse-3.0.1.jar";
runtime.loadJar(dexFilepath);
importClass("org.luaj.vm2.lib.jse.JsePlatform");
//创建Globals对象来管理全局状态
globals = JsePlatform.standardGlobals();
var luaPath = files.path("./luaTest.lua");
globals.loadfile(luaPath).call();
c = globals.get("c").toString(); //取得脚本里的变量d的值
log("c: " + c);
// s = ""; //lua脚本
// s += "x=3 ";
// s += "y=4 ";
// s += "print ('hello world!') ";
// s += "function aa() ";
// s += "print ('aaa') ";
// s += "end ";
// s += "aa() ";
// s += "function method1() ";
// s += "return x * 2 ";
// s += "end ";
// s += "c=method1(x) ";
// chunk = globals.load(s); //加载自己写的脚本
// chunk.call(); //执行脚本
// c = globals.get("c").toString(); //取得脚本里的变量d的值
// log("c: " + c);


微信公众号 AutoJsPro教程



QQ群


747748653



以上是关于autojs之lua的主要内容,如果未能解决你的问题,请参考以下文章

蚂蚁森林拯救能量之AutoJs实现

蚂蚁森林拯救能量之AutoJs实现

蚂蚁森林拯救能量之AutoJs实现

蚂蚁森林收集能量之AutoJs实现(精度优化版)

蚂蚁森林收集能量之AutoJs实现(精度优化版)

蚂蚁森林收集能量之AutoJs实现(精度优化版)