zoukankan      html  css  js  c++  java
  • aardio_一些踩过的坑

    1、关于延时的区别

      a.sleep()    

        mainForm.button.oncommand = function(id,event){
          mainForm.edit.print("start");
          sleep(5000);
          mainForm.edit.print("end");
        }

      运行效果:点击按钮,等待5秒,打印“start”,打印“end”

      b.win.delay()

        mainForm.button.oncommand = function(id,event){
          mainForm.edit.print("start");
          win.delay(5000);
          mainForm.edit.print("end");
        }

      运行效果:点击按钮,打印“start”,等待5秒,打印“end”

    2、多线程调用py

      a.先在主线程导入py库

        import py;

      b.在主线程释放GIL

        py.releaseThread();

      c.在子线程再次导入py库

        import py;

      d.在子线程中,调用py的代码必须放在py.lock()中

        py.lock(

          function(){ 

            py.appendPath("respy"); //添加模块搜索路径

            py.import("test"); //导入模块

          }

        )

        win.loopMessage(); //在子线程尾部要加上信息循环,不然发布后会崩端

      e.在主线程调用py也要写在py.lock()中

    3、关于文件路径:

    1)开发期间:
      main.aardio是根目录

    1.python第三方库目录
      假设把第三方库放在 libpysite-packages 文件夹下面
      在aardio脚本里添加python脚本的搜索路径: py.appendPath("libpysite-packages");

    2.python脚本目录
      假设把test.py脚本放在 espy 文件夹下面
      把test2.py脚本放在 espyutil 文件夹下面

    在aardio脚本里添加python脚本的搜索路径: py.appendPath(" espy");
    aardio调用python:py.import("test")
    Test.py调用Test2.py:from util.test2 import *

    2)发布:
      把 libpysite-packages 和 espy 整个文件夹复制一份,放在发布目录下,注意文件夹层级关系

    4、aardio和python之间的数据通信

    1.aardio获取python的数据:
      导入python包之后,aardio可以直接读取包内的数字/字符串/字典/列表/元组
      也可以调用python的函数,通过函数返回数字/字符串/字典/列表/元组
      但是拿到的都是py.object

    2.数据转换:
      数字/字符串:
        需要在aardio调用tonumber(pyObject)/tostring(pyObject)来转换为aardio的数字/字符串

    字典:
      从python获取到的字典其实就是aardio的py.dict,可以直接当作py.dict来操作
      pyObject.each() 可以遍历字典
      pyObject.getItem("key")可以获取字典内的值
      更多py.dict的方法可以查看aardio中的py库源文件

  • 相关阅读:
    Unity3D鼠标点击处
    Unity3D静态AI自动寻路
    Unity3D 雷达检测器
    Unity3D重新加载光线变暗问题
    Unity3D切换场景不销毁物体
    软件&环境&网页
    2020软件工程作业05
    2020软件工程作业04
    利用Java输入输出流更改文件中指定的内容
    2020软件工程作业03
  • 原文地址:https://www.cnblogs.com/dabaicai0703/p/11221509.html
Copyright © 2011-2022 走看看