Unity调用Android
来源:互联网 发布:centos 安装squid 编辑:程序博客网 时间:2024/05/07 23:51
Unity调用Android
- 打开Unity,在Project中创建文件,Assects→Plugins→Android→src,创建好以后在里面添加java类
package com.unity3d.BabelRunning;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.util.Log;import java.lang.String;import com.unity3d.player.UnityPlayer;import com.unity3d.player.UnityPlayerActivity;public class BabelRunningActivity extends UnityPlayerActivity {@Overrideprotected void onCreate(Bundle bdl){super.onCreate(bdl);Log.d("UnityInterface", "=========> BabelRunningActivity start!!!!!!!\n");}public void callByObject(){}static public boolean isUnlocked() {return true;}static public void FeeExit(Context paramContext){}}
这里面也可以加其他的类,不是一定要加从UnityPlayerActivity派生的类,你也可以看看Unity自带的UnityPlayerActivity,打开Finder→应用程序→Unity→点击Unity图标,鼠标右键选择“显示包内容”→Contents→PlaybackEngines→AndroidPlayer→bin→classes.jar,jar文件要用java反编译工具打开。
- 把创建好的类打包成jar,首先用eclipse编译,会在bin→classes→com→unity3d→BabelRunning文件夹里面生成BabelRunningActivity.class文件,再用eclipse导出BabelRunningActivity.jar,把导出的jar用java反编译软件(JD_GUI)打开。如果看到了 com.unity3d.BabelRunning 这本包,这个包的名字一定要跟 java文件中的“ package com.unity3d.BabelRunning;”一样,如果不一样,可以调整class文件的目录,再打jar包,直到一样为止。
- 把生成的jar放在Assets→Plugins→Android→libs下面。
- 编写C#文件,在Android目录下面创建CmBillingResult.cs
using UnityEngine;using System.Collections;using System;using System.Collections.Generic;public class CmBillingResult : MonoBehaviour {private int waitTime = 10;private AndroidJavaClass klass = null;// Use this for initializationvoid Start () {klass = new AndroidJavaClass("com.unity3d.BabelRunning.BabelRunningActivity");// 通过对象调用AndroidJavaObject jo = klass.GetStatic<AndroidJavaObject>("currentActivity"); jo.Call("callByObject");// 通过类调用,有返回值klass.CallStatic<bool>("isUnlocked");// 通过类调用,当前的activity作为参数klass.CallStatic("FeeExit", curActivity);}}
- 创建好以后加到Main Camera对象上面。
klass.CallStatic("方法名", "参数");第一个参数为方法名称,第二个参数才是真正的参数。
- AndroidManifest里面的入口改成com.unity3d.BabelRunning.BabelRunningActivity
Android调用Unity
Android调用Unity比较简单。
UnityPlayer.UnitySendMessage("Main Camera", "方法名称", "参数1", "参数2"...);第一个参数,为当前对象,第二个参数为当前对象上面脚本的方法名称,后面的才是真的参数。
0 0
- Unity调用Android
- Unity调用Android
- unity 调用android函数
- unity 调用android函数
- Unity调用Android
- Unity调用Android
- unity 调用android函数
- Unity调用Android
- Unity调用Android录音
- Unity调用Android API
- Unity调用android
- Unity 调用Android方法
- unity调用android
- unity 调用android方法
- Unity调用Android方法
- 在Unity中调用Android
- unity调用android语音识别
- unity简单调用Android方法
- jquery validate验证注册模板网址
- Android中WebView加载html页面时,JS 与客户端交互,传参
- pga_aggregate_target从0改到非0时, workarea_size_policy会从MANUAL变为auto
- MD5
- 语音框架
- Unity调用Android
- 查看TOMCAT内存使用情况 以及修改方法
- Unable to Drop a Datafile From the Tablespace Using Alter Tablespace Command (Doc ID 1050261.1)
- 程序员学习能力提升三要素
- 《effective STL》读书笔记
- 遇见未知的自己杂感
- IOS 获取安装的app
- Python操作MySQL以及中文乱码的问题
- 分布式系统的事务处理