[Unity3D]转让Android介面
简单介绍
有一些手机功能。Unity没有提供对应的接口。比如震动,比如不锁屏,比如GPS。比如...
有太多的特殊功能Unity都没有提供接口。这时候,我们就须要通过使用Android原生的ADT编辑器去编写Java代码,然后打包jar导入到Unityproject。然后通过Unity提供的调用Android接口的函数去调用jar包中的函数就可以。
这里我们就介绍一下使用Unity实现手机震动效果
实现内容简要说明:
1. Android提供jar文件,xml文件。res文件夹,libs文件夹
2. 通过AndroidJavaClass去调用Android函数
另外,这些功能仅仅能在真机上执行!
详细实现:
Android部分
1.下载AndroidSDK(须要包括ADT编辑器的)
官方下载连接:http://developer.android.com/sdk/index.html
2 创建Android项目
菜单位置:File ->New->Android Application Project
创建过程中,仅仅有一下这个界面的内容须要更改,其它的使用默认的即可
生成后解决方式的文件夹如图
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHZfbHkxNQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" style="border:none; max-width:100%">
当中MainActivity就是我们须要编辑的java文件了
3. 导入Unity相关jar
Jar文件夹:unity的安装路径\Editor\Data\PlaybackEngines\androidplayer\bin下的classes.jar
通过AddExternalArchives加入。如图:
4. 导入jar后。就能够開始编辑相关的函数了。打开MainActivity
加入unityActivity。使MainActivity继承UnityPlayerActivity。并把SetContentView函数删掉(不然到手机上启动程序的时候就会仅仅看到一句HelloWorld)。这里用一个比較函数Max作为样例,有參数。有返回值
5. 到这里。须要的函数已经写完,再改动一下xml文件
Xml文件在project文件文件夹下,叫AndroidManifest.xml
6. 接下来到处jar包
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHZfbHkxNQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" style="border:none; max-width:100%">
点击Export后选择Java文件夹下的Jar file,选择好路径之后按默认选项去到处jar文件就可以
7. 到这里Android部分结束了
Unity部分
1. 设置PlayerSetting,要与Android的package相应上
2. 在Assets文件夹下加入Plugins\Android文件夹,把Android的jar文件,res文件夹,libs文件夹。xml文件放入该文件夹
3. 调用相关函数
(注意:之所以这里的参数的初步了解,以填补”com.unity3d.player.UnityPlayer”和”currentActivity”。它是由于代jar当文件,它已被指定MainActivityclass承受UnityPlayerActivity。也XML指定MainActivity它是Main class)
[Unity3D]转让Android介面的更多相关文章
- Unity3d与android通信
原地址:http://www.cnblogs.com/alongu3d/p/3661077.html unity3d与android的通信,从网上搜索了一些文章,发现我的始终不成功!后来调试通了,现在 ...
- Unity3d和Android之间互相调用
摘抄博客 Unity3d Android SDK接入解析(一)Unity3d 与 Android之间的互相调用,一共四章,一定要看完 No1: 总体来说Unity3d与Android之间的互相调用,是 ...
- Unity3D调用android方法(非插件方式)
关于Unity3Dproject与androidproject的转换与合并,请參考我的另外一篇博客.假设你对Unity3Dproject增加到androidproject的过程不熟悉.也请先看完以下这 ...
- [原] unity3d调用android版 人人sdk
开发过程 遇到天坑:纯android工程没问题,集成到unity3d中 就老提示 没登陆 .最后跟到底 发现是Util.java 中 openUrl 函数出的bug.unity3d 中调android ...
- Unity3D for Android 纹理压缩支持
http://blog.csdn.net/asd237241291/article/details/48548557 首先附图:Unity3D for Android支持的纹理压缩格式 纹理压缩可以通 ...
- Unity3D 调用Android与IOS的剪贴板
Unity3D剪贴板 最近遇到一个需要调用Android与IOS设备本身剪贴板的需求,就是在Unity中,要将文本复制到设备本身的剪贴板中,然后在其他应用程序中都能粘贴. 最开始在网上查到的方式是使用 ...
- Unity3D 与android交互流程步骤
1.Android端代码可以在Eclipse中开发(AndroidStudio没有试,应该也可以) 2.Unity3D端代码要在Unity中开发 3.Android和Unity3D端,两边都需要加入一 ...
- [Unity3D]Unity+Android交互教程——让手机"动"起来
想要用Unity实现一个二维码扫描的功能,然后网上找插件,找到一个貌似叫EasyCodeScanner,但下载下来用用,真不好使,一导入运行就报错,调好错了再运行发现点按钮没反应,反复试了几遍发现还是 ...
- Unity3d与Android交互
先看下效果 你一定会说,然并卵! 没错,这里只是一个最简单的例子,unity与android activity 互相传参数. 玩过手游的都知道,在你要为你心爱的游戏角色准备花钱买钻石,点击购买的时候, ...
随机推荐
- Swift - 移除页面视图上的所有元素
下面代码可以遍历移除页面视图上的所有元件 1 2 3 4 5 6 //清空所有子视图 func clearViews() { for v in self.view.subviews as [U ...
- Linux 多线程串口通信
大概流程就是打开一个串口.然后进行串口设置.开启二个线程,一个线程写数据,另一个线程读数据. 代码如下: #include <stdio.h> #include <stdlib.h& ...
- 实现 select中指定option选中触发事件
我们在用到下拉列表框select时,需要对选中的<option>选项触发事件,其实<option>本身没有触发事件方法,我们只有在select里的onchange方法里触发. ...
- 获取option中间的值
<select name="wytype" id="wytype"> <option value="">—请选择—& ...
- C++著名类库和C++标准库介绍
C++著名类库 1.C++各大有名库的介绍——C++标准库 2.C++各大有名库的介绍——准标准库Boost 3.C++各大有名库的介绍——GUI 4.C++各大有名库的介绍——网络通信 5.C++各 ...
- C语言之基本算法35—数组上三角之积 主对角之积 副对角之积
//数组算法 /* ============================================================= 题目:求四阶矩阵上三角之积.主对角之积,副对角之积: 如 ...
- 在Windows系统上实现轻量级的线程间及进程间消息队列
Windows没有message queue累世的IPC内核对象,使得在在处理IPC时少了一种传递消息的手段. 利用Windows的Naming Object可以实现一套简单的Inter-Thread ...
- 那些年我们装过的数据库---盘点sqlserver2008安装时遇到的各种的问题(持续更新中)
给自己安过sqlServer2008,也给好多同学安过sqlServer2008,期间遇到了好多不同的另人心烦的问题,在这里整理一下,(涉及到的部分方法是在网上找的,有些也没试过,仅仅是在这里整理一下 ...
- 《Android系统开发》笔记
<Android系统开发>笔记1:Android系统概述 Android四层架构: 1. Linux Kernel&driver层 a.依赖于Linux 2.6内核,包含安全性.内 ...
- 2013 吉林通化邀请赛 Tutor 有点坑的水题
计算12个数的和的平均数.四舍五入,不能有后导0. 我的做法是,将答案算出后,乘以1000,然后看个位是否大于等于5,判断是否要进位…… #include<iostream> #inclu ...