首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

让android程序根据重力感应旋转屏幕(支持4个方向旋转)

熟悉android的人都知道,android系统的手机绝大部分只支持三种屏幕方向的重力感应自动切换,竖直,水平,反方向水平,独独不支持反方向竖直的重力感应切换。...,倒是意外的发现了activity原来本身就有设置屏幕方向的接口提供,而且四个方向都可以设置,另外还发现一段根据重力感应来计算屏幕方向的方法,两个结合起来,实现竖直方向的重力感应屏幕自动切换的方法就有了...,自己监视重力感应来控制屏幕的旋转。...怎么设置屏幕方向的方法有了,那么接下来就是给程序注册一个重力感应的监视器了,这里我们要用到是类型为TYPE_ACCELEROMETER 的感应器,有两点需要注意的就是一监视重力感应的变化是个比较耗资源的事情...实现这个功能最关键的一段代码是根据感应监听器SensorEventListener的onSensorChanged方法传人的SensorEvent类型的对象的值来计算出一个旋转角度。

1.9K10

Unity基础教程-物体运动(十一)——滚动(Animated Sphere)

这样可以防止由于重力而在静止站立在斜坡上时造成攀爬的情况。 ? ? (在游玩区四处滚动) 1 依赖于速度的加速度 我们当前的加速方法是相对于玩家的输入空间的,我们使用世界空间或轨道摄像机。...为了消除输入延迟,我将 “Horizontal” 和 “Vertical” 输入键的重力和灵敏度从3增加到3000。 ?...另外,请切换到使用条件块,因为稍后我们将根据移动模式进行更多更改。 ? 2.3 运动 为了使球滚动,我们必须旋转它,使它的表面运动与它的运动相匹配。最简单的完美情况是一个球在一条直线上滚动。...用球的局部上轴替换重力路线,并用旋转轴替换重力。最后,将调整应用于球的旋转并将其返回。 ? 如果对齐速度为正,则在UpdateBall中调用该方法。 ? ?...(没有受到平台旋转的影响) 在这种情况下,我们可以通过根据连接物体的角速度创建一个旋转(随时间增量缩放)来使球与平台一起旋转。

3K30
您找到你想要的搜索结果了吗?
是的
没有找到

MCM2022A,自行车动力学模型

这给出了一个将自行车的稳态速度与骑手产生的功率联系起来的一般方程: P in η = v F R 运动的总阻力实际上由几个单独的阻力组成: F g,重力阻力(在斜坡上骑行时) F A , 向前运动的空气阻力...重力阻力 重力作用在自行车和骑手的总质量上,产生向下的力,重量。如果地面不水平,则该力的一部分将作用以抵抗向前运动。如果将斜率指定为角度,则重力mg将乘以角度的余弦值。...通常,坡度将指定为梯度G,因此重力阻力由下式给出 F g = mg sin( arctan( G ) ) 其中m是自行车和骑手的总质量,g是重力加速度 (9.81 m/s),G是坡度的坡度。...然后可以根据自行车的速度和逆风分量计算空气速度: v A = v G + v WTan 偏航角是自行车路径与自行车上方气流方向之间的角度。...测量测试轨道坡度并首先去除计算出的重力阻力。不随速度变化的恒定力则归因于滚动阻力,虽然轴承阻力和可能的碰撞阻力也将包括在内。剩余的力将随速度的平方变化,归因于空气阻力。

59420

还记得当前火爆全球的像素小鸟吗? 我用Cocos Creator复刻了一版!

当开始游戏时,会把刚体组件设置为动态,此时小鸟就会受到重力的作用不断的下落。 ?...代码示例 地面 地面节点由两张草地图片拼接而成,游戏开始运行时,控制两张图片不断向左移动,当一张图移出屏幕后,就把坐标重置另一张图后面,达到地面不断滚动的效果。...在两张草地图片上分别挂一个静态刚体组件,目的是使草地不受重力影响,同时小鸟和草地碰撞后会触发碰撞检测回调,此时就会判定为游戏结束。 ? ?...当一组管道移出屏幕后,把坐标重置到另一组管道的后面,达到不断滚动的效果。 在每个管道节点上分别挂一个静态刚体组件,使管道不受重力影响,同时小鸟和管道碰撞后会触发碰撞检测回调,此时就会判定为游戏结束。

78520

cocos creator鼠标键盘事件总结

cc.Node.EventType.MOUSE_UP 'mouseup' 当鼠标从按下状态松开时触发一次 cc.Node.EventType.MOUSE_WHEEL 'mousewheel' 当鼠标滚轮滚动时...鼠标事件(cc.Event.EventMouse)的重要 API 如下(cc.Event 标准事件 API 之外): 函数名 返回值类型 意义 getScrollY Number 获取滚轮滚动的 Y...轴距离,只有滚动时才有效 getLocation Object 获取鼠标位置对象,对象包含 x 和 y 属性 getLocationX Number 获取鼠标的 X 轴位置 getLocationY...以上的过程解释了事件冒泡的过程和根据节点区域来判断是否分发事件的逻辑。 除了根据节点区域来判断是否分发事件外,鼠标和触摸事件的冒泡过程与普通事件的冒泡过程并没有区别。...目前支持了以下几种事件: 键盘事件 鼠标事件 触摸事件 设备重力传感事件 注意:目前已经不建议直接使用 cc.eventManager 来注册任何事件,cc.eventManager 的用法也不保证持续性

2.1K51

【Sensors】运动传感器(3)

根据设备的不同,这些基于软件的传感器可以从加速计和磁力计或陀螺仪获取数据。 运动传感器可用于监视设备移动,如倾斜,摇晃,旋转或摆动。...根据供应商和版本号识别这些传感器是必要的,因为Android系统认为这三个传感器是辅助传感器。例如,如果设备制造商提供自己的重力传感器,则AOSP重力传感器将显示为次要重力传感器。...使用重力传感器 ---- 重力传感器提供指示重力方向和大小的三维矢量。通常,该传感器用于确定设备在空间中的相对方向。...Context.SENSOR_SERVICE); mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION); 从概念上讲,该传感器根据以下关系为您提供加速度数据...这是正向旋转的标准数学定义,与定向传感器使用的滚动定义不同。 通常,陀螺仪的输出随时间积分以计算描述时间步长上的角度变化的旋转。

2K20

H5玩法知多少

一“陆”狂飙,极速挑战: 该H5与速度与激情8联动,先播放一段在朋友圈上飚车的视频,然后开始赛车游戏,通过左右倾侧手机来控制赛车左右前进、躲避障碍,最后根据行使的距离进行排名和抽奖。 ? ?...人脸识别 顾名思义,就是用人脸和H5进行互动,玩法有根据人脸猜测年龄、猜情绪,测试与明星脸的匹配度,将人脸和游戏电影人物相结合,将人脸变成小时候的样子,根据人脸的动作做出反馈(如张嘴时从嘴里飞出企鹅、眨眼睛拍照...基于触摸屏操作: 除了利用传感器创造特别的玩法外,在触摸屏上的操作也有多种玩法,如单屏滚动、手势操作、全景交互及多屏互动。...翻屏时可以加上一些转换的动画,如渐入渐出,使得翻页效果生动不单调,也可以加上重力感应,让手机在转动时产生视差效果。单屏滚动的应用场景比较广泛,很多主页、产品介绍、报告总结、邀请函都应用了这种形式。...案例: 腾讯互娱发布会邀请函: 邀请函采取单屏滚动的形式展示,同时利用重力感应,转动手机时会看到页面上的装饰图片也会跟着移动,制造视差,增添了乐趣。 ? ? ?

2.6K41

Tasker使用日记:调教重力锁屏

文章更新:   20160912 初次成文 问题提出:   在前面的文章中,小苏介绍了"重力锁屏"这个应用,除了应用本身功能之外,重力锁屏还提供了Tasker插件,使用Tasker,我们可以根据自己的需要对重力锁屏进行各种调教...Resume   使用Tasker新建一个配置文件:   配置文件名称:开启重力锁屏   状态 - 显示 - 显示状态 - 屏幕开启   根据提示将新建的这个配置文件链接到刚刚新建的"开启重力锁屏"这个任务...调教二:   由于深夜时我们一般不操作手机,所以我们可以自定义时间,让重力锁屏在深夜中止服务,而在白天运行服务:   新建两个Tasker任务:   任务名称:1.开启重力锁屏   插件 - 重力锁屏...:30到23:59(其余选项保持默认)   根据提示将新建的这个配置文件链接到刚刚新建的"开启重力锁屏"这个任务。   ...配置文件名称:2.关闭重力锁屏   时间 - 从0:00到7:29(其余选项保持默认)   根据提示将新建的这个配置文件链接到刚刚新建的"开启重力锁屏"这个任务。   大工告成!

1.8K40

新仓库应该如何规划,有哪些细节应该注意?

重力供料制,适用于散装料,水泥、米、塑胶颗粒、油,将物料散装于大仓中,从上部进仓,下部出仓。 5. 移区制,物料从验收入库一端或一面移向发料端,保证先进现出,缺点,每次发料都移动,工作量大。...仓库布局设计 货位位置确定: (1) 一般应按入库、验收、存储、分拣、出库流程安排; (2)根据作业频率确定位置,频率高的靠近门。...搬运设备设计 1.采用高效率的物料搬运设备; 2.搬运设备根据仓库物料形状合理设计装卡工具,纸卷类的叉车板用弧形的,平板考虑滚动制动装置,并有软保护; 3.物料搬运设备大小、类型、转弯半径的限制下,尽量减少通道占用的空间...它是根据货物的包装、外形、保管要求,结合仓库设备条件、储存时间长短,将货物按一定规律堆成各种形状货垛的方法。...依据形状安排保管方法; (8)货物容易划伤、硌伤,托盘要有泡沫板类的保护层; (9)货物堆码防止滚动时,要考虑到是否会伤到货物。

78750

一个新仓库应该如何规划,有哪些细节应该注意?

重力供料制,适用于散装料,水泥、米、塑胶颗粒、油,将物料散装于大仓中,从上部进仓,下部出仓。 5. 移区制,物料从验收入库一端或一面移向发料端,保证先进现出,缺点,每次发料都移动,工作量大。...仓库布局设计 货位位置确定: (1) 一般应按入库、验收、存储、分拣、出库流程安排; (2)根据作业频率确定位置,频率高的靠近门。...搬运设备设计 1.采用高效率的物料搬运设备; 2.搬运设备根据仓库物料形状合理设计装卡工具,纸卷类的叉车板用弧形的,平板考虑滚动制动装置,并有软保护; 3.物料搬运设备大小、类型、转弯半径的限制下,尽量减少通道占用的空间...它是根据货物的包装、外形、保管要求,结合仓库设备条件、储存时间长短,将货物按一定规律堆成各种形状货垛的方法。...依据形状安排保管方法; (8)货物容易划伤、硌伤,托盘要有泡沫板类的保护层; (9)货物堆码防止滚动时,要考虑到是否会伤到货物。

64420

重力锁屏:智能,高效锁屏体验

文章更新:   20160329 初次成文   应用名称:重力锁屏 应用包名:com.plexnor.gravityscreenofffree 备注说明:免费版/可内购   重力锁屏是一款智能,...其主要功能有: 根据重力传感器检测手机放置状态(屏幕向上/向下放置),并根据手机防放置状态决定是否关闭屏幕。...根据重力/距离传感器数据检测手机是否(头朝下)放在口袋中,并根据放置状态决定是否关闭屏幕。 根据重力/距离传感器数据防止设备在口袋中被误电量屏幕。...支持白名单/横向模式/SmartLock,当白名单中的应用在前台运行时,重力锁屏所有服务将停止,此外,若一个应用以横屏方式显示在屏幕上,重力锁屏的所有服务也会停止。 ? ? ?   ...也就是说,重力锁屏托管关屏动作是完全没有问题的,但是对于开屏动作而言可能不能兼容部分设备。

1.4K40

iOS 传感器集锦

YES completion:nil]; }]; } 二、运动传感器/加速计/陀螺仪 应用:水平位置测试、摇一摇、计步器、游戏、特效动画 加速计和运动传感器主要监测设备在X、Y、Z轴上的加速度 ,根据加速度数值...这几个传感器都是依赖于苹果官方CoreMotion框架,用法都差不多,先判断各个传感器是否可用开启,然后设置各个传感器的采集频率,接着就开始采集数据,并返回采集到的运动信息参数:各个方向的重力加速度、旋转方向角度等等...滚动小球不仅用了加速计,还用到了CoreMotion框架中行为管理CMMotionManager中的碰撞、重力行为,和动力学属性:摩擦、密度、弹力、阻力等 [图片旋转.png] [滚动小球.gif] 运动传感器的示例代码如下...imageView2.transform = CGAffineTransformMakeRotation(rotation); }]; 三、环境光感处理器 应用:常见的比如说根据环境的亮度去调整屏幕的亮度...利用摄像头获取环境光感参数,通过摄像头采集环境参数,然后在代理方法中输出,光感越小,环境越暗,然后根据需要做相应的操作。

1.5K80

Android layout属性大全

layout_alignStart本元素与开始的父元素对齐          android:layout_alignEnd本元素与结束的父元素对齐          android:ignoreGravity 指定元素不受重力的影响...android:scrollbarThumbVertical设置垂直滚动条的drawable          android:scrollbarTrackHorizontal设置水平滚动条背景(轨迹)...设置水平滚动条是否含有轨道          android:scrollbarAlwaysDrawVerticalTrack 设置垂直滚动条是否含有轨道          android:nextFocusLeft...android:scrollbarFadeDuration设置滚动条淡入淡出时间         android:scrollbarDefaultDelayBeforeFade设置滚动条N毫秒后开始淡化...android:scrollbarSize设置滚动调大小         android:fadingEdge 设置拉滚动条时 ,边框渐变的放向         android:drawingCacheQuality

2.1K90

Android屏幕旋转之横屏竖屏切换的实现

开门见山的说,实现屏幕自动/手动旋转的方式有两种: 一种是在工程的代码中定义,这种方式在横竖屏切换时执行的操作是:销毁当前Activity–根据新的屏幕尺寸重建Activity。...始终竖屏,由重力传感器决定是哪个方向的竖屏 SCREEN_ORIENTATION_UNSPECIFIED 不指定方向,使用默认方向 SCREEN_ORIENTATION_USER 由用户和重力传感器共同决定...Configuration newConfig) { super.onConfigurationChanged(newConfig); // 在这里添加屏幕切换后的操作 } 番外 我按照上述方法,根据重力传感器实现了屏幕旋转..."sensor" 改上述代码为以下代码 android:screenOrientation="user" 意即:当参数为sensor时,无论是否关闭“屏幕旋转”设置,App内的特定Activity都会根据重力传感器改变横竖屏...当参数为user时,当“屏幕旋转”开启,则特定Activity根据根据重力传感器改变横竖屏;当“屏幕旋转”关闭,则特定Activity会固定位默认方向(一般为正面竖屏)。

6.4K40

Unity3d开发

GameObject给这个空的Object创建Rigidbody,Character Controller 在Rigidbody中要将Use Gravity取消勾选,勾选is Kinenmatic 这个主要时用来不受重力影响...,根据脚本的路线运行 在Character Controller中 参数 描述 功能 Slope Limit 坡度限制 限制碰撞器只能爬小于等于该值的斜坡 Step Offset 台阶高度 角色可以迈上的最高台阶高度...} void Contorl() { //定义3个值控制移动 float xm = 0, ym = 0, zm = 0; //重力运动...GUI.Button(new Rect(10, 20, 100, 30), "小窗口自定义的按钮"); } Toggle 用于在屏幕上绘制一个开关,通过开关的闭合来执行一些具体的指定操作,就会根据不同的切换动作来返回相应的布尔值...通过导入一幅预先渲染好的灰度图来快速地为地形建模 物理引擎 刚体 Rigidbody 通过参数来控制物体的各种物理状态,可控制的参数有 Mass质量;Drag阻力;Angular Drag角阻力;Use Gravity是否使用重力

9K30
领券