添加新的虚拟轴,选择菜单Edit->Project Settings->Input :
Unity 为你提供访问iOS/Android系统的Input 和 iOS Input脚本接口。
多点触控
触控列表(Input.touches):返回上一帧所有触控状态的对象列表(Touch[]:单个触摸状态)。
触控状态(TouchPhase):(例子:if(touch.phase != TouchPhase.Began))
设备面朝方向
Input.deviceOrientation : (例子:if (Input.deviceOrientation == DeviceOrientation.FaceDown))
加速传感器
Input.acceleration :竖直拿着设备(home按钮在底部),X轴指向右,Y轴指向上,Z轴指向前。
加速度传感器数值可能被颠簸影响。应用低通过过滤器可以是它平滑,摆脱干扰。
//加速器刷新间隔 float AccelerometerUpdateInterval = 1.0f / 60.0f; //值越大, 被过滤值将汇集当前输入采样越慢 float LowPassKernelWidthInSeconds = 1.0f;
//过滤范围
private float LowPassFilterFactor = AccelerometerUpdateInterval / LowPassKernelWidthInSeconds; private Vector3 lowPassValue = Vector3.zero; void Start () { lowPassValue = Input.acceleration; } //过滤方法 (获取加速量调用此方法即可) Vector3 LowPassFilterAccelerometer(){ lowPassValue = Mathf.Lerp(lowPassValue, Input.acceleration, LowPassFilterFactor); return lowPassValue;
}
通过iPhoneSettings.StartLocationServiceUpdates()方法开始定位服务的更新。最后通过iPhoneInput.lastLocation可以收回位置坐标变量。
static void
desiredAccuracyInMeters - 理想服务精确度(单位是米)。使用更高的值像500通常不需要打开GPS芯片从而保持电池电量,像5-10的值可以被用来得到最好的精确度。默认值是10米。
iPhoneInput.lastLocation
void Start () { // 开始服务在查询定位之前 iPhoneSettings.StartLocationServiceUpdates(); // 等待知道服务初始化
//iPhoneSettings.locationServiceStatus为当前服务状态 int maxWait = 20; while (iPhoneSettings.locationServiceStatus == LocationServiceStatus.Initializing && maxWait > 0) { yield return WaitForSeconds(1); maxWait--; } // 在20秒内服务没有初始化 if (maxWait < 1) { print("Timed out"); return; } // 用户拒绝访问定位服务 if (iPhoneSettings.locationServiceStatus == LocationServiceStatus.Failed) { print("User denied access to device location"); return; } // 被给予许可并且定位数值可以取回 else { print("Location: " + iPhoneInput.lastLocation.latitude + " " + iPhoneInput.lastLocation.longitude + " " + iPhoneInput.lastLocation .altitude+ " " + iPhoneInput.lastLocation.horizontalAccuracy + " " + iPhoneInput.lastLocation.timestamp); } // 如果不需要持续查询刷新定位停止服务 iPhoneSettings.StopLocationServiceUpdates(); }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。