Unity与Android交互

来源:互联网 发布:linux系统自启动脚本 编辑:程序博客网 时间:2024/05/01 03:15


工具:

Android StudioUnity

流程:

Android端配置

  1. 既然是unityandroid交互那么自然有个纽带,class.jar就是这个纽带。此文件在unity安装目录下(也可以在安装目录直接搜索此文件)

             

  1. class.jar导入到android项目中。
  2. 需要MainActivity继承class包下的UnityPlayerActivity或UnityPlayerNativeActivity
  3. 然后就可以写你的程序了。
  4. unity发送数据采用如下方法:

            参数均为String类型;cameraName为路径名,methodName为方法名,content为数据内容

            

  注:

  1. 既然android作为库的形式那么,MainActivity就不能有布局存在,即setContentView不存在。
  2. unity调用的接口要是共有的(public)。
  3. 程序中引用的资源(id、String、layout、图片等)、最好是通过资源名字的形式去获取id,可以避免与unity的资源冲突导致各种异常。

     String resName是资源名字;String defType是资源类型(id、String、layout等);最后一个此项目包名。

       

  4. AndroidManifest里面的activity、sever等都要有明确的路径,不可省略包名直接以“.”代替,如果省略包名的话unity在打包时候必须保证与android项目的包名保持一致,否则会闪退。下图标记处必须注意。
                                 

     

    Unity端的配置:

    1. 创建路径,在assets文件家里建立文件夹plugins,plugins文件夹是放android/ios资源的路径;在plugins里建立文件夹Android。
    2. 引入android资源(将写好的android项目打包成jar的形式(仅限代码部分)、libs、res、AndroidManifest等资源)
    3. 调用android项目方法(方法名必须与android的方法名完全一致):

            

            

               
        4.数据接收,可以与android端协商好,或是通过调用android的方法传给android项目。Unity端只需要定义这个方法就好,此方法只有一个参数String类型的。

            

    注:

    1. 在导入android资源时候注意不要将class.jar导入到unity的项目里面。
    2. 如果unity设置了屏幕的方向,那么AndroidManifest也要做相应的设置。   

    以下我们来写个测试deom
    android端:



    清单文件的配置需要注意,路径、以及屏幕旋转问题

    Uniyt端:
    创建一个unity项目,在Assets里创建Plugins文件夹,然后在里面创建Android文件夹存放android的资源(sdk的jar包,res文件夹和清单文件以及libs文件夹(不包含class.jar)等资源),最后在相机下创建c#脚本A,如下图


    A脚本的呢如如下图:





    0 0
    原创粉丝点击