close
此文章內容則是以Unity來製作Android系統讓手機產生震動的效果。
---------------
Script (C#):
using System.Collections;
using UnityEngine;
public static class Vibration
{
#if UNITY_ANDROID && !UNITY_EDITOR
public static AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
public static AndroidJavaObject currentActivity = unityPlayer.GetStatic("currentActivity");
public static AndroidJavaObject vibrator = currentActivity.Call("getSystemService", "vibrator");
#else
public static AndroidJavaClass unityPlayer;
public static AndroidJavaObject currentActivity;
public static AndroidJavaObject vibrator;
#endif
private static bool isAndroid()
{
#if UNITY_ANDROID && UNITY_EDTOIR
return true;
#else
return false;
#endif
}
///
/// 震動
///
public static void Vibrate()
{
if (isAndroid())
vibrator.Call("vibrate");
else
Handheld.Vibrate();
}
///
/// 震動(毫秒)
///
///
public static void Vibrate(long milliseconds)
{
if (isAndroid())
vibrator.Call("vibrate", milliseconds);
else
Handheld.Vibrate();
}
///
/// 模式震動
/// 重覆
///
///
///
public static void Vibrate(long[] pattern, int repeat)
{
if (isAndroid())
vibrator.Call("vibrate", pattern, repeat);
else
Handheld.Vibrate();
}
///
/// 判斷是否震動器
///
///
public static bool HasVibrator()
{
return isAndroid();
}
///
/// 取消
///
public static void Cancel()
{
if (isAndroid())
vibrator.Call("cancel");
}
}
文章標籤
全站熱搜