学校网站开发工作室,安阳历史,成都企业建网站,建行个人账户查询关于Unity3D工程与android工程的转换与合并#xff0c;请参考我的另外一篇博客#xff0c;如果你对Unity3D工程加入到android工程的过程不熟悉#xff0c;也请先看完下面这篇博客#xff1a; android与Unity3D交互#xff0c;fragment显示unity3d视图。 下面#xff0c;我…关于Unity3D工程与android工程的转换与合并请参考我的另外一篇博客如果你对Unity3D工程加入到android工程的过程不熟悉也请先看完下面这篇博客 android与Unity3D交互fragment显示unity3d视图。 下面我们来说说本博客的终端Unity3D调用android的关于Unity3D工程与android工程的转换与合并请参考我的另外一篇博客如果你对Unity3D工程加入到android工程的过程不熟悉也请先看完下面这篇博客android与Unity3D交互fragment显示unity3d视图。下面我们来说说本博客的终端Unity3D调用android的方法1.首先在网络上大家可以看到很多把android project打包然后以插件的方式放入Unity3D工程中来调用的方式这种方式我不做评论但是很麻烦所以我也没有进行尝试大家有兴趣可以到网络上搜索一下看看。2.如果讲Unity3D的project导出为android project然后进行再次开发的过程中需要Unity3D调用android的方法这个时候再使用1中的方法显然是不合适的。那么我们要怎么样来做呢分为下面几部分1.在初始化UnityPlayer的Activity中添加方法如下/*** 测试Unity调用Android的方法*/public void testMethod(String param){System.out.println(参数为param);}对于提供的方法不可以进行UI操作因为Unity3D对于android的UI线程来说只是个子线程如果要进行UI操作可以使用Handler发消息。2.在Unity工程中利用c#文件来书写Unity调用的代码public static void ActivateShareImage(string content){if (Application.platform RuntimePlatform.IPhonePlayer){_PressButton3(content);}else if (Application.platform RuntimePlatform.Android){UISystem.Console(test method!);AndroidJavaClass jc new AndroidJavaClass(com.unity3d.player.UnityPlayer);AndroidJavaObject jo jc.GetStatic(currentActivity);jo.Call(testMethod, unity);}else{}}3,如果你已经有android项目了那么就把新修改的Unity3D的项目导出为android project的把新导出的project中的assets的文件夹替换掉之前老的project中的这样做的目的是更换Unity的改动如果改动了其他的东西也是这样更换的但是如果你的assets文件夹下还有其他资源请保留。如果你没有android项目那么就把Unity3D的项目导出为android的project项目使用。4.对于AndroidJavaClass这个类以及它提供的方法大家可以参考下面的网站AndroidJavaClass 安卓Java类这样就可以完成调用了根本就不需要使用插件。关于android向Unity3D发送消息日后会发博客叙述。