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");
    }
}

 

arrow
arrow
    文章標籤
    Unity Android 震動
    全站熱搜
    創作者介紹
    創作者 Xauxas 的頭像
    Xauxas

    Xauxas 筆記

    Xauxas 發表在 痞客邦 留言(0) 人氣()