土豆_wk 2024-01-05 16:19 采纳率: 79.2%
浏览 4

autox.js报错

用autox.js写一个找色的脚本报错

if (!requestScreenCapture()) {
    toast("请求截图失败");
    exit();
}

while(true){
    var img = captureScreen();
    
    var point = findColorInRegion(img, "#478939", 451,691,86, 137,)
    if (point){
        toast("找到了"+point)
    }else{
        toast("没有找到")
    }
}

16:18:12.509/V: 开始运行[[remote]找色打城.js]
16:18:12.693/E: No implementation found for long org.opencv.core.Mat.n_Mat() (tried Java_org_opencv_core_Mat_n_1Mat and Java_org_opencv_core_Mat_n_1Mat__)

java.lang.UnsatisfiedLinkError: No implementation found for long org.opencv.core.Mat.n_Mat() (tried Java_org_opencv_core_Mat_n_1Mat and Java_org_opencv_core_Mat_n_1Mat__)
    at org.opencv.core.Mat.n_Mat(Native Method)
    at org.opencv.core.Mat.<init>(Mat.java:23)
    at com.stardust.autojs.core.opencv.Mat.<init>(Mat.java:37)
    at com.stardust.autojs.core.image.ColorFinder.findColorInner(ColorFinder.java:76)
    at com.stardust.autojs.core.image.ColorFinder.findColor(ColorFinder.java:45)
    at java.lang.reflect.Method.invoke(Native Method)
    at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:206)
    at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:211)
    at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1879)
    at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:1061)
    at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:90)
    at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:380)
    at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3869)
    at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:103)
    at com.stardust.autojs.engine.RhinoJavaScriptEngine.doExecution(RhinoJavaScriptEngine.kt:72)
    at com.stardust.autojs.engine.JavaScriptEngine.execute(JavaScriptEngine.java:20)
    at com.stardust.autojs.engine.LoopBasedJavaScriptEngine.access$001(LoopBasedJavaScriptEngine.java:21)
    at com.stardust.autojs.engine.LoopBasedJavaScriptEngine.lambda$execute$0$com-stardust-autojs-engine-LoopBasedJavaScriptEngine(LoopBasedJavaScriptEngine.java:46)
    at com.stardust.autojs.engine.LoopBasedJavaScriptEngine$$ExternalSyntheticLambda0.run(D8$$SyntheticClass)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
    at com.stardust.autojs.engine.LoopBasedJavaScriptEngine.execute(LoopBasedJavaScriptEngine.java:65)
    at com.stardust.autojs.engine.LoopBasedJavaScriptEngine.execute(LoopBasedJavaScriptEngine.java:38)
    at com.stardust.autojs.execution.LoopedBasedJavaScriptExecution.doExecution(LoopedBasedJavaScriptExecution.java:42)
    at com.stardust.autojs.execution.RunnableScriptExecution.execute(RunnableScriptExecution.java:43)
    at com.stardust.autojs.execution.RunnableScriptExecution.execute(RunnableScriptExecution.java:37)
    at com.stardust.autojs.execution.RunnableScriptExecution.run(RunnableScriptExecution.java:31)
    at java.lang.Thread.run(Thread.java:761)
16:18:12.694/V: 
 ------------ 
 [ [remote]找色打城.js ]运行结束,用时0.184000
  • 写回答

2条回答 默认 最新

  • 百锦再@新空间代码工作室 全栈领域优质创作者 2024-01-05 16:32
    关注

    参考微信GPT小程序回答你的问题,如果适用请采纳!

    根据你提供的脚本内容,可能存在以下问题导致报错:

    1. 缺少import语句:在使用auto.js或autox.js时,需要导入相应的模块或方法。确保你在文件开头加入了正确的导入语句。

    2. 导入错误的模块:确认你导入的模块是否正确。根据你的脚本内容,需要导入auto.js中的requestScreenCapture()toast(),以及findColorInRegion()captureScreen()等方法。

    3. 参数错误:检查findColorInRegion()captureScreen()等方法的参数是否正确。确保传递的参数类型、顺序和值都正确。

    4. Auto.js版本问题:有些Auto.js版本可能对函数名称或参数顺序进行了更改。确保使用的是与你代码匹配的Auto.js版本,并确保API调用方式正确。

    以下是一个修正后的脚本示例,根据具体情况可能需要进行修改:

    var auto = require("auto");
    
    if (!auto.requestScreenCapture()) {
        auto.toast("请求截图失败");
        exit();
    }
    
    while (true) {
        var img = auto.captureScreen();
    
        var point = auto.findColorInRegion(img, "#478939", 451, 691, 537, 828);
        if (point) {
            auto.toast("找到了" + point.x + ", " + point.y);
        } else {
            auto.toast("没有找到");
        }
    }
    

    这个示例首先导入了auto.js模块。然后,在循环中,首先使用auto.captureScreen()截取屏幕截图,然后使用auto.findColorInRegion()在指定区域内搜索指定颜色。最后,根据搜索结果展示相应的提示消息。

    请注意,具体操作还会受到Auto.js的版本和设备环境的影响。确保已经正确安装并配置了Auto.js,并根据实际情况进行相应的调整。如果问题仍然存在,请提供详细的错误信息和相关环境细节,以便更好地帮助你解决问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 1月5日

悬赏问题

  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22