檢測“搖一搖”的行爲:
Input.acceleration
Input.accelerationEvents
Input.accelerationEventCount
手機震動:
Handheld.Vibrate();
代碼如下,
using UnityEngine;
using System.Collections;
/// <summary>
/// 手機搖一搖功能
/// 2016.11.12
/// </summary>
public class CellphoneVibrate : MonoBehaviour
{
void Update()
{
CheckVibrate();
}
/// <summary>
/// 手機搖一搖功能
/// </summary>
private void CheckVibrate()
{
m_newAcceleration = Input.acceleration;
m_detalAcceleration = m_newAcceleration - m_oldAcceleration;
m_oldAcceleration = m_newAcceleration;
if (m_detalAcceleration.x > m_checkValue ||
m_detalAcceleration.y > m_checkValue ||
m_detalAcceleration.z > m_checkValue)
{
#if UNITY_ANDROID
/// 手機震動
Handheld.Vibrate();
/////同樣是震動,但是這個接口已經過時的,不要用了
//iPhoneUtils.Vibrate();
#elif UNIYT_IPHONE
/// 手機震動,是不是這個接口,沒測試過
Handheld.Vibrate();
#endif
}
}
[SerializeField]
protected float m_checkValue = 0.8f;
private Vector3 m_detalAcceleration;
private Vector3 m_oldAcceleration;
private Vector3 m_newAcceleration;
}