unity 调用android的震动

在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爪爪学院查找。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章