Input.acceleration 加速度

static var acceleration : Vector3

Description描述

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

最近一次测量的设备在三维空间中的线性加速度(只读)

using UnityEngine;
using System.Collections;

public class example : 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);
	}
}
// Move object using accelerometer
//使用加速计移动物体
var speed = 10.0;

function Update () {
	var dir : Vector3 = Vector3.zero;

	// we assume that device is held parallel to the ground
	// and Home button is in the right hand
	//我们假设设备此时平行于地面
	//并且主页键正在右手边

	// remap device acceleration axis to game coordinates:
	// 1) XY plane of the device is mapped onto XZ plane
	// 2) rotated 90 degrees around Y axis
	//重新映射设备加速计的坐标轴给游戏坐标
	//1)设备的XY平面映射到游戏中的XZ平面
	//2)沿着Y轴旋转90度
	dir.x = -Input.acceleration.y;
	dir.z = Input.acceleration.x;

	// clamp acceleration vector to unit sphere
	//限制加速度向量在一个单位范围内
	if (dir.sqrMagnitude > 1)
		dir.Normalize();

	// Make it move 10 meters per second instead of 10 meters per frame...
	//将每帧移动10米改为每秒移动10米
	dir *= Time.deltaTime;

	// Move object
	//移动物体
	transform.Translate (dir * speed);
}
最后修改:2011年3月11日 Friday 18:53

本脚本参考基于Unity 3.4.1f5

英文部分版权属©Unity公司所有,中文部分© Unity圣典 版权所有,未经许可,严禁转载 。