第八章 Libgdx输入处理(6)加速度计

简介: Android游戏开发群:290051794 Libgdx游戏开发框架交流群:261954621   在Android中,加速度计是通过三个坐标确定设备加速度。

Android游戏开发群:290051794
Libgdx游戏开发框架交流群:261954621

 

Android中,加速度计是通过三个坐标确定设备加速度。加速度的变化源于设备的倾斜和方向的改变。

加速度的单位是(m/s2),如果一个轴指向地球的中心,则加速度大约为10 m/s2。如果指向相反地方向,则加速度为-10 m/s2

Android,各轴表示如下:

对于手机来说,portrait mode是默认的方向模式。

检测可用性

不同的Android设备具有不同的硬件配置。下面代码检测设备是否支持加速度计:

boolean available = Gdx.input.isPeripheralAvailable(Peripheral.Accelerometer);


查询当前设备方向

如果你的游戏需要知道当前设备的方向,使用以下方法:

int orientation = Gdx.input.getOrientation();

这个将要返回090180270等值,查询设备屏幕方向:

Orientation nativeOrientation = Gdx.input.getNativeOrientation();

返回值为Orientation.Landscape 或者 Orientation.Portrait

加速度读取

加速度只能在Libgdx中的polling中获取:

float accelX = Gdx.input.getAccelerometerX();

    float accelY = Gdx.input.getAccelerometerY();

float accelZ = Gdx.input.getAccelerometerZ();


设备不支持的话返回0

旋转矩阵

如果你想使用设备方向进行渲染,使用旋转矩阵是明智的。你可以直接将你的矩阵在OpenGL中渲染:

Matrix4 matrix = new Matrix4();

Gdx.input.getRotationMatrix(matrix.val);


 作者:宋志辉 
出处:http://blog.csdn.net/song19891121
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 
支持: 新浪微博 腾讯微博

目录
相关文章
|
2月前
|
监控 算法 安全
基于颜色模型和边缘检测的火焰识别FPGA实现,包含testbench和matlab验证程序
本项目展示了基于FPGA的火焰识别算法,可在多种应用场景中实时检测火焰。通过颜色模型与边缘检测技术,结合HSV和YCbCr颜色空间,高效提取火焰特征。使用Vivado 2019.2和Matlab 2022a实现算法,并提供仿真结果与测试样本。FPGA平台充分发挥并行处理优势,实现低延迟高吞吐量的火焰检测。项目包含完整代码及操作视频说明。
|
6月前
|
算法
LabVIEW开发圆形分子识别的方法与例程
LabVIEW开发圆形分子识别的方法与例程
43 1
|
异构计算
实验四 基于FPGA的数字电子钟设计(1) 基本功能的实现 quartus电路图演示
实验四 基于FPGA的数字电子钟设计(1) 基本功能的实现 quartus电路图演示
938 0
实验四 基于FPGA的数字电子钟设计(1) 基本功能的实现 quartus电路图演示
|
计算机视觉 C++
OpenCV-用图像处理作出素描图(给你的另一半试试吧)
OpenCV-用图像处理作出素描图(给你的另一半试试吧)
|
算法 IDE 开发工具
2021电赛F题之openmv数字识别--更新(附带视频与代码)
2021电赛F题之openmv数字识别--更新(附带视频与代码)
249 0
2021电赛F题之openmv数字识别--更新(附带视频与代码)
【乌拉喵.教程】进一步学习编写TestBench(VHDL语言),quartus与modelsim时序仿真
【乌拉喵.教程】进一步学习编写TestBench(VHDL语言),quartus与modelsim时序仿真
180 0
【乌拉喵.教程】进一步学习编写TestBench(VHDL语言),quartus与modelsim时序仿真
|
监控 算法 Linux
【乌拉喵.教程】编写TestBench,quartus与modelsim时序仿真
【乌拉喵.教程】编写TestBench,quartus与modelsim时序仿真
219 0
【乌拉喵.教程】编写TestBench,quartus与modelsim时序仿真
|
Android开发
第二十一章:变换(十四)
3D-ish旋转 即使计算机屏幕是平面和二维的,也可以在这些屏幕上绘制视觉对象,使其具有第三维的外观。 在本章的前面,您看到了一些文本效果,它们提供了第三个维度的提示,而Xamarin.Forms支持两个额外的旋转,名为RotationX和RotationY,它们似乎也突破了屏幕固有的二维平面度。
1389 0
|
JavaScript Android开发 索引
第二十一章:变换(十二)
这两个问题都在非最小的BoxViewClock中得到解决。 XAML文件与MinimalBoxViewClock非常相似,但代码隐藏文件更为广泛。 它以名为HandParams的小结构开始,该结构定义每只手相对于半径的大小,但也包括偏移值。
1082 0