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