Unity 使用陀螺仪判断手机方向

  • 前言
  • 代码
  • 参考

前言

当iphone开启锁定屏幕旋转的时候,使用Screen.orientation就可以获知设备方向,但当设置为下图

或者

时,仍然需要强制旋转屏幕,就可以使用陀螺仪判断设备朝向。

代码

使用时把Text文本删除,添加OnDeviceRotation监听即可。

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class DeviceRotationHelper : MonoBehaviour
{/// <summary>/// 提示文字/// </summary>public Text text;/// <summary>/// 当设备旋转时触发/// </summary>public Action<DeviceOrientation> OnDeviceRotation;/// <summary>/// 当前设备旋转方向/// </summary>private DeviceOrientation currentDeviceOrientation;/// <summary>/// 当前设备旋转方向/// </summary>private DeviceOrientation CurrentDeviceOrientation {get {return currentDeviceOrientation;}set {if (value != currentDeviceOrientation){currentDeviceOrientation = value;OnDeviceRotation?.Invoke(value);text.text = currentDeviceOrientation.ToString();}}}void Update(){//每帧判断设备方向CheckOrientation();}/// <summary>/// 检查设备朝向/// </summary>void CheckOrientation(){if (Mathf.Abs(Input.gyro.gravity.z) <= 0.9f){if (Mathf.Abs(Input.gyro.gravity.x) > Mathf.Abs(Input.gyro.gravity.y)){if (Input.gyro.gravity.x > 0f){CurrentDeviceOrientation = DeviceOrientation.LandscapeRight;}else{CurrentDeviceOrientation = DeviceOrientation.LandscapeLeft;}}else if (Input.gyro.gravity.y > 0f){CurrentDeviceOrientation = DeviceOrientation.PortraitUpsideDown;}else{CurrentDeviceOrientation = DeviceOrientation.Portrait;}}}
}

参考

unity 陀螺仪判断手机方向

Unity 使用陀螺仪判断手机方向相关推荐

  1. android陀螺仪判断手机旋转方向,unity 陀螺仪判断手机方向

    首先说一下为什么用陀螺仪,很多时候当ios设备系统级别锁定方向后,我们使用ios系统的设备方向方法将不能其作用. ios系统代码中为一下代码: //下面代码只有在设备系统不锁定屏幕旋转是Natific ...

  2. XZ_iOS之使用陀螺仪判断屏幕方向

    目录 Swift版本 实现方法 方法调用 OC版本 .h 方法 .m 方法 实现思路: 每隔一段时间监听手机方向,如果发生改变就发送通知. Swift版本 import CoreMotion // 导 ...

  3. Unity使用陀螺仪检测屏幕方向

    using UnityEngine;/// <summary>检测设备方向</summary> public class CheckDeviceOrientation : Mo ...

  4. js判断手机浏览器屏幕方向

    /* js判断手机浏览器屏幕方向*/var direction = {__getOrientation: function () {if (window.orientation == 0 || win ...

  5. JS判断手机浏览器是横屏or竖屏

    移动端的浏览器一般都支持window.orientation这个参数,通过这个参数可以判断出手机是处在横屏还是竖屏状态. 从而根据实际需求而执行相应的程序. 通过添加监听事件onorientation ...

  6. 小程序—这款工具把加速计、陀螺仪、设备方向的调试痛点解决了

    之前在一篇博文中捎带介绍过这款工具,反响很好,还收到了两位用户的打赏,但受那篇博文的影响,并没有被广大小程序开发者所熟知,故写一篇专门的,希望能有更多用户不再被加速计.陀螺仪.设备方向的调试难题再刺痛 ...

  7. ios 判断手机角度_IOS 判断iPhone刘海屏

    如今Apple市场上,愈来愈流行刘海屏手机(与Android市场同样,往刘海屏手机方向发展趋势).windows 在iPhone手机角度上看,刘海屏出如今机型较新的手机上(相对较旧/老的iPhone上 ...

  8. 开发板Linux手指滑动方向,移动应用滑动屏幕方向判断解决方案,JS判断手势方向...

    问题分类 滑动屏幕打开相应功能操作. 问题描述 1.用户手动滑动屏幕,根据滑动的方向,打开相应的功能(如:向上滑摇钱树经验明细,向下滑打开任务明细,向左滑打开聚宝盆物品查看等功能),滑动事件捕获问题. ...

  9. Unity之正确设置手机显示布局获取手机朝向

    目录 Unity之正确设置手机显示布局 && 获取手机朝向 前言 开篇 Unity版本及使用插件 正题 设置手机屏幕显示布局.Screen.orientation 获取手机当前朝向.I ...

最新文章

  1. windows 2003 活动目录的更改域名后缀技巧
  2. zz SOA推荐书籍列表
  3. 如何利用传感器控制数据中心能耗
  4. wxWidgets:wxListItem类用法
  5. 1.常用字符对象方法
  6. 一起谈.NET技术,发布NGuestBook(一个基于.NET平台的分层架构留言本小系统)
  7. java原始类型和引用类型_Java中的8种原始类型
  8. 把svg图标制作成字体图标_让我们用SVG符号和CSS变量制作彩色图标
  9. JAVA正则表达式分析爬虫数据
  10. springboot整合redis实现分布式锁思想
  11. Javascrpt无刷新文件上传
  12. 计算机怎么弹出专业团队,2018年专业技术人员继续教育答案92分
  13. iOS Facebook pop动画进阶
  14. 这些屏幕特效是咋实现的
  15. arange函数——numpy模块
  16. ★大塚 愛【LOVE IS BORN】~3rd Anniversary 2006~のライブDVD★
  17. 【板栗糖GIS】CAD照片底色为黑色如何调整为白色
  18. 20春招机器学习、数据开发、NLP岗面经
  19. 计算机配置主要看哪些东西,买电脑主要看哪些配置
  20. 浅析云计算的六种架构

热门文章

  1. SQL SERVER 连乘写法
  2. android 黑屏定位,如何将黑屏Android修复为正常
  3. 苹果x为什么总黑屏_苹果X手机为什么突然黑屏了
  4. 单片机秒表c语言,单片机制作秒表计时器(c语言)
  5. 字符映射表没有所有字体(专用字符),以及显示空白的解决办法
  6. nodeJS学习笔记-重点难点
  7. 根据音乐播放进度实时更新音乐播放器播放进度条
  8. 共享雨伞,又一个昙花一现的共享经济?
  9. 简单易懂之什么是重排和重绘?
  10. 2018华北五省计算机应用大赛,“远洋航空杯”2019年华北五省(市、自治区) 及港澳台大学生计算机应用大赛隆重举行...