仔细阅读加速度传感器。
本示例分配内存:
void Update()
{
//获取精确的加速度计值
Vector3 accelValue = preciseAccelValue();
Debug.Log("精确X: " +accelValue.x+ " Y: " +accelValue.y+ " Z: " + accelValue.z);
}
Vector3 preciseAccelValue()
{
Vector3 accelResult = Vector3.zero;
foreach (AccelerationEvent tempAccelEvent in Input.accelerationEvents)
{
accelResult = accelResult + (tempAccelEvent.acceleration * tempAccelEvent.deltaTime);
}
return accelResult;
}这个例子确实没有分配内存:
void Update()
{
//获取精确的加速度计值
Vector3 accelValue = preciseAccelValue();
Debug.Log("精确X: " +accelValue.x+ " Y: " +accelValue.y+ " Z: " + accelValue.z);
}
Vector3 preciseAccelValue()
{
Vector3 accelResult = Vector3.zero;
for (int i = 0; i < Input.accelerationEventCount; ++i)
{
AccelerationEvent tempAccelEvent = Input.GetAccelerationEvent(i);
accelResult = accelResult + (tempAccelEvent.acceleration * tempAccelEvent.deltaTime);
}
return accelResult;
}请注意,这未过滤。请在此处查看如何平滑加速度计值以消除噪声。