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

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