untiy实现手机摇一摇震动效果

在手机经常使用摇一摇这种操作方式,在unity中也可以实现震动,iPhone与Android的函数不一样,在ios中用的函数为iPhoneUtils.Vibrate()在Android中函数为Handheld.Vibrate();具体代码

using UnityEngine;
using System.Collections;

public class FunctionVibrate : MonoBehaviour
{
    //实现手机晃动震动效果
	// Use this for initialization
    float old_y = 0;
    float new_y;
    float max_y = 0;
    float min_y = 0;
    float d_y = 0;
    public float distance = 0.3f;
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {

        new_y = Input.acceleration.y;
        d_y = new_y - old_y;
        old_y = new_y;
        if(Input.GetKey(KeyCode.Escape))
        {
            Application.Quit();
        }
	}
    int i;
    void OnGUI() 
    {
        //if(GUI.Button(new Rect(0,100,100,32),"vibrate!"))
        //{
        //    //震动
        //    Handheld.Vibrate();
        //}
        GUI.Label(new Rect(100,100,100,100),"g:"+Input.acceleration+"d_y:"+d_y);
        GUI.Label(new Rect(100,200,100,100),"i:"+i);
        if(d_y>distance)
        {
            i++;
            Handheld.Vibrate();
        }
    }
}


你可能感兴趣的:(untiy实现手机摇一摇震动效果)