下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、从 Unity 到 Eclipse我们还可以将 Unity 工程导出为 eclipse 工程,然后再导入到 eclipse 中,听起来有些麻烦,但对于有些 Android 接口,不得不这么做,由于有些时候使用在Unity 中导入.jar 的方法无法使其正常工作。在下面的例如中,我们仍将在Unity 中显示一个 Android 对话框,但这次是将Unity 工程导入到 eclipse 中。eclipse 与 Unity 工程之间的通信我们将使用Unity 的 UnitySendMessage 函数完成,这个做法与在IOS 平台是一样的。导出eclipse 工程1翻开光盘名目chapter10_A
2、ndroid_Plugin_Start内的 Unity 工程。2翻开角本AndroidAPP.cs,添加代码如下:/ Android 的Activityprivate AndroidJavaObject activity;/ Use this for initialization void Start / 当前玩耍体的名字 = “AndroidManager“;/ 获得Android ActivityAndroidJavaClass jc = new AndroidJavaClass(“com.unity3d.player.UnityPlayer“); activity =
3、jc.GetStatic(“currentActivity“);void OnGUIGUI.skin=m_skin;if (GUI.Button(m_showAndroidDialog, “显示 android 对话框“)string args=new string2; args0=“Hello“;args1=“World“; activity.Call(“HelloWorld“, args);Unity 手机网页玩耍开发第 10 章Android 玩耍/ 转变摄像机背景颜色为红色,将在 eclipse 中使用SendMessage 执行void AndroidCallBackCamera.m
4、ain.backgroundColor = new Color(1.0f, 0, 0);这里的代码与前一节例如中的代码相像,增加了一个AndroidCallBack 函数,它的作用是转变摄像机背景的颜色,我们将在eclipse 中使用SendMessage 执行这个函数。在 Start 函数中,我们将当前玩耍体的名字改为AndroidManager,在 eclipse 工程中,我们将查找这个名字传送消息。将当前工程的Bundle Identifier 设为 ject.helloworld,稍后在 eclipse 工程中设置的Package Name肯定要与它一样。在Unity 菜
5、单栏选择【File】【Build Settings】,确定当前工程已转为Android 平台, 选中 Create Eclipse project,然后选择 Export 将当前工程导出为 eclipse 工程,如图 10-30 所示。图 10-30 导出为eclipse 工程设置导出的eclipse 工程下面的工作将在 eclipse 中完成,实际上,从 Unity 中导出的 eclipse 工程并不能直接使用,我们需要将其设为库,然后在另一个建的eclipse 工程中引用这个库。在 eclipse 的菜单栏选择【File】【Import】,然后选择 Existing Android Cod
6、e Into Workspace导入上一节从Unity 中导出的eclipse 工程,如图10-31 所示。图 10-31 导入Android 工程在 eclipse 的菜单栏选择【Project】【Properties】,选中 Is Library,将当前工程设为库,如图 10-32 所示。图 10-32 设置为库创立用于公布的eclipse 工程下面,我们将创立一个的eclipse 工程,引用Unity 导出的eclipse 工程。1创立一个的 eclipse 工程,留意 Package Name 肯定要与 Unity 工程中的 BundleIdentifier 全都。在创立工程的过程中不
7、要选中Create Activity,我们将手工创立Activity。2选择建的工程,在菜单栏选择【 Project】【Properties】,然后选择 Add,选择Unity 导出的eclipse 工程,将其引用到当前工程,如图10-33 所示。图 10-33 引用另一个工程确定选择建工程,在菜单栏选择【 File】【 New】【 Class】创立一个名为MainActivity的类,Package 名字与当前工程的Package Name全都,如图10-34 所示。图 10-34 创立Activity在 eclipse 的菜单栏选择【Project】【Properties】,然后选择 Ja
8、va Build Path,选择Add External JARs,扫瞄 Unity 安装名目 EditorDataPlaybackEnginesandroidplayerbin,选择 classes.jar,将其添加到当前的eclipse 工程中。选择从 Unity 导出的 eclipse 工程,将 assets 中的文件拖拽到建的Helloworld 工程的assets 名目内,如图10-35 所示,左边是从Unity 导出的工程,右边是创立的工程名目。图 10-35 工程名目翻开MainActivity.java,添加代码如下:package ject.helloworld
9、;import android.os.Bundle;import android.app.AlertDialog;import android.content.DialogInterface;import com.unity3d.player.UnityPlayer;import com.unity3d.player.UnityPlayerActivity;public class MainActivity extends UnityPlayerActivity Overrideprotected void onCreate(Bundle savedInstanceState) super.o
10、nCreate(savedInstanceState);/ 在Unity 中调用的函数protected void HelloWorld(final String title, final String content)runOnUiThread(new Runnable public void run MakeDialog(title, content);Unity手机网页玩耍开发第 10 章Android 玩耍);/ 显示对话框public void MakeDialog(String title, String content)AlertDialog.Builder builder =n
11、ew AlertDialog.Builder(MainActivityt.his);builder.setTitle(title).setMessage(content).setCancelable(false).setPositiveButton(“OK“,new DialogInterface.OnClickListenerpublic void onClick(DialogInterface dialog,int which) UnityPlayer.UnitySendMessage(“AndroidManager“, “AndroidCallBack“, “););builder.sh
12、ow;这里的代码与前一个Hello World 例如中的代码类似,不同的地方是,在按对话框OK 按钮后,使用 UnitySendMessage 向 Unity 的玩耍体 AndroidManager 发送了一个消息,执行AndroidCallBack函数,使摄像机背景变为红色。翻开工程的AndroidManifest.xml,在 Application 标签中添加 Activity 设置,如下所示:在菜单栏选择【Run】【Run】,选择 Android Application,在 Android 设备上测试程序。图 10-36 测试Android 程序在 Android 设备上运行程序,效果与之前的例如类似,但在按OK 按钮后,摄像机背景会变为红色。公布程序将 Unity 工程导入到eclipse 后,只能在eclipse 中公布程序,实际上在这里设置比在Unity中要简洁一些,步骤如下: 选择要公布的工程, 右键选择【Android Tools】 【Export Signed Application Package】,在导出窗口,选择 Create new keystore,输入密码将 keystore 文件保存到指定位置,如图 10-37 所示。图 10-37 创立keystore在这里填写keystore 信息,留意Validity(years)通常设为 50 年以上,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购预算决算管理制度
- 采购验收单审核报销制度
- 金螳螂采购制度
- 2025年前台岗位综合试卷
- 基于CNN-BiLSTM的刚性罐道故障诊断研究
- 第8章 实数 同步单元基础与培优高分必刷卷 教师版-人教版(2024)七下
- 《耳听为虚-同音字和同音词》教案3
- 《列方程解应用问题(行程问题)》参考教案
- 生产经理年终工作总结(14篇)
- 结婚典礼上致辞3篇
- 神州数码集团在线测评题
- 掺混肥料生产管理制度
- 2026年安徽财贸职业学院单招综合素质笔试备考试题附答案详解
- 2026内蒙古事业单位招聘第一阶段减少招聘人数岗位(公共基础知识)测试题附答案
- 胆总管结石课件
- 入孵合同解除协议
- 数据出境安全协议
- 护士交接班礼仪
- 2025年10月自考05677法理学试题及答案含评分参考
- 2025年专升本旅游管理历年真题汇编试卷及答案
- 2026年辽宁医药职业学院单招职业适应性测试必刷测试卷及答案1套
评论
0/150
提交评论