Unity 手机功能 之 手机摇一摇震动功能快速实现

2025-10-30 12:33:37

1、Handheld.Vibrate:

1)功能简述

public static void Vibrate();

Triggers device vibration.

2)压泪彩使用案例

 using UnityEngine;

 using System.Collections;public class ExampleClass : MonoBehaviour{

    void OnGUI()    {

        if (GUI.Button(new Rect(0, 10, 100, 32), "Vibrate!"))

            Handheld.Vibrate(); 

    }

 }

2、Input.acceleration:

1)功能简述

public static Vector3 acceleration;

Last measured linear acceleration of a device in three-dimensional space. (Read Only)

2)使用案例蚊栗

 using UnityEngine;

 using System.Collections;public class ExampleClass : MonoBehaviour {

    public float speed = 10.0F;

    void Update() {

        Vector3 dir = Vector3.zero;

        dir.x = -Input.acceleration.y;

        dir.z = Input.acceleration.x;

        if (dir.sqrMagnitude > 1)

            dir.Normalize();

        dir *= Time.deltaTime; 

        transform.Translate(dir * speed);

    }

 }

3、方法提示:

1)Input.acceleration获取手机摇晃情施爬况

2)当摇晃超过某一值,调用手机震动Handheld.Vibrate

1、打开Unity,新建一个空工程,具体如下图

Unity 手机功能 之 手机摇一摇震动功能快速实现

2、在工程中新建一个脚本“VibrateTest”,双击脚本或者右键“Open C# Project”打开脚本,具体如下图

Unity 手机功能 之 手机摇一摇震动功能快速实现

Unity 手机功能 之 手机摇一摇震动功能快速实现

3、在打开的脚本“VibrateTest”上编辑代码,首先设置变量,然后初始化变量,接着在Update函数中监视手机摇晃,当摇晃到一定程度按调用手机震动,最后实现手机摇晃监听函数和手机摇晃函数,具体代码和代码说明如下图

Unity 手机功能 之 手机摇一摇震动功能快速实现

4、“VibrateTest”脚本具体内容如下:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class VibrateTest : MonoBehaviour {

    private float previousAccY;

    private float currentAccY;

    private float dAccY;

    // Use this for initialization

    void Start () {

        previousAccY = 0.0f;

        currentAccY = 0.0f;

        dAccY = 0.0f;

    }

        // Update is called once per frame

    void Update () {

        Acceleration ();

        if(dAccY > 0.8f) {

            Vibration ();

        }

    }

    private void Acceleration(){

        currentAccY = Input.acceleration.y;

        dAccY = currentAccY - previousAccY;

        previousAccY = currentAccY;  

    }

    private void Vibration() {

            Handheld.Vibrate ();

    }

}

5、脚本编译正确,回到Unity界面,在场景中新建一个“GameObject”,把脚本“VibrateTest”赋给“GameObject”,具体如下图

Unity 手机功能 之 手机摇一摇震动功能快速实现

6、保存场景,切换成手机平台,打包编包,手机摇晃测试震动OK,具体如下图

Unity 手机功能 之 手机摇一摇震动功能快速实现

7、到此,《Unity 手机功能 之 手机摇一摇震动功能快速实现》讲解结束,谢谢

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢