unity 调用android的震动

  1. 云栖社区>
  2. 博客>
  3. 正文

unity 调用android的震动

二哈卖豆腐 2019-04-03 17:21:53 浏览511
展开阅读全文

在unity中调用震动一般有两种方式:

1.使用unity自带的 Handheld.Vibrate();
优点:方便、简单
缺点:无法控制震动的频率

2.自己导入jar包到unity中
优点:便于后期的调节震动的频率
缺点:如果是初步接触android studio可能比较麻烦

这次就不说Handheld.Vibrate(),直接调用就ok了。

如果想要自己打包jar导入的unity,你需要配置好javac环境,安装sdk,
且可以打出正常的jar包。这里为什么说是正常的包? 因为在很多时候,可能打出来的jar包导入unity后无法打出apk。比如说:无法实例化android的activity、无法找到xml文件、无法找到29.0.0打包工具、BuildConfig.class文件重复等奇葩问题。

android studio代码
这里的mpattern数组 mpattern[0] 是延迟震动时间,mpattern[1]是震动的频率,mpattern[2]是暂停时间,mpattern[3]是震动的频率 依此类推

index:震动的类型
index = -1 只震动一次
index = 0 一直震动

public void StartVibrator(long [] mpattern,int index) {
//获取Vibrator实例
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(pattern,index);
}
unity 代码

//实例化UnityPlayer类
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
//实例化Android继承的UnityPlayerActivity的Activity
AndroidJavaObject jo = jc.GetStatic("currentActivity");
long[] shock = new long[] { 0, 150 };
jo.Call("StartShock", shock, -1);
更多unity2018的功能介绍请到paws3d爪爪学院查找。

网友评论

登录后评论
0/500
评论
二哈卖豆腐
+ 关注