9.5、Libgdx加速度计

(官网:www.libgdx.cn

加速度计可以让设备通过三个坐标轴检测加速度。通过加速度可以检测设备的方向。

加速度的单位是米每秒的平方。如果一个坐标轴指向地心,加速度大概是-10米每秒的平方。如果指向相反的方向,则是10米每秒的平方。

Android设备的坐标轴如下:

不幸的是,这个配置对平板来说是不同的。Android设备有一个默认的方向。对于手机来说,竖屏是默认的模式,对平板来说横屏模式是默认的。

检测是否可用

不同的Android设备有不同的配置,可以检测设备是否可用加速度计:

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

查询当前或本地的方向

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

int orientation = Gdx.input.getRotation();

这将返回0,90,180或270中的一个值。

读取加速度信息

可以通过libgdx的轮询类读取加速度计的信息:

float accelX = Gdx.input.getAccelerometerX();

float accelY = Gdx.input.getAccelerometerY();

float accelZ = Gdx.input.getAccelerometerZ();

不支持加速度计的设备或平台将返回0。

www.libgdx.cn版权所有,如需转载,注明出处)

时间: 2024-10-25 16:26:20

9.5、Libgdx加速度计的相关文章

9.1、Libgdx的输入处理的配置和查询

(官网:www.libgdx.cn) 有时判断是否支持输入设备是必要的.通常你的游戏不需要支持所有的输入设备.比如你可能不需要加速度计或者罗盘.这时我们需要禁用这些设备保持电量.接下来将教你怎样做. 禁用加速度计和罗盘(Android) 在执行AndroidApplication.initialize()方法之前,可以只用AndroidApplicationConfiguration类来设置一些参数,包括配置输入设备. 假设我们的游戏不需要加速度计和罗盘,我们可以禁用这些设备: public c

5、使用Libgdx设计一个简单的游戏------雨滴

(原文:http://www.libgdx.cn/topic/49/5-%E4%BD%BF%E7%94%A8libgdx%E8%AE%BE%E8%AE%A1%E4%B8%80%E4%B8%AA%E7%AE%80%E5%8D%95%E7%9A%84%E6%B8%B8%E6%88%8F-%E9%9B%A8%E6%BB%B4) 在深入研究Libgdx提供的API之前,我们先来创建一个简单的游戏来感受一下libgdx各个功能.这里将简单的对一些功能做介绍. 使用的技术: 文件访问 清除屏幕 渲染图片 使

Libgdx之国际化 中英文菜单切换

有时候我们做的游戏不仅仅发布在国内市场,有时候也需要发布在国际市场,这时候我们至少需要中英2套菜单来供不同的玩家使用,毕竟中文不是每个人都能看懂. Libgdx中提供了I18NBundle来供我们使用,I18NBundle提供了一套机制可以使我们从属性(properties)文件中加载资源, 属性文件中的资源是以"name"和"values"的形式存在的,而且资源最好有一个父文件,这样防止资源丢失时,可以使用父文件中的值: 通过上面图片可以看出string.prop

Libgdx之正交相机 OrthographicCamera

本翻译自Libgdx Wiki 本文主要介绍OrthographicCamera相机类和用法.OrthographicCamera是正交相机,用在2D游戏开发中,无论游戏物体放在游戏世界中的那个位置,用正交相机看到的物体都不会被缩放. 描述 正交相机的操作非常简单,就像我们在现实世界中操作相机一样,文章中主要介绍: 相机的移动和旋转 相机的放到和缩小 改变相机的视窗大小 在窗口(widow)坐标系和(世界)坐标系之间切换点的位置 使用正交相机可以在不必去操作矩阵的情况下非常方便的来移动游戏世界,

libgdx 裁剪多边形(clip polygon、masking polygon)

直接放例子代码,代码中以任意四边形为例,如果需要做任意多边形,注意libgdx不能直接用ShapeRender填充多边形,需要先切割成三角形. public static void drawClip(Batch batch, Polygon polygon, TextureRegion region, float x, float y) { float[] vertices = polygon.getVertices(); if (shapes == null) { shapes = new S

Libgdx学习笔记:Simple text input

官方Wiki:https://github.com/libgdx/libgdx/wiki/Simple-text-input 实现接口TextInputListener public class MyTextInputListener implements TextInputListener {       @Override    public void input (String text) {    }       @Override    public void canceled () 

四轴加速度计滤波

加速度计滤波实验参数: 采样频率Fs=250Hz 截止频率Cutoff Frequency 未开电机静止 开电机悬停 未开电机转动飞控 原始输出(Raw) 260 Hz 260Hz 260Hz MPU6050内部(LPF) 94 Hz 94 Hz 94 Hz 2阶(Butterworth) 30 Hz 30 Hz 30 Hz 8深度窗口滑动(Window) N/A N/A N/A 数据分析 4组画图对比(A) 4组画图对比(C) 4组画图对比(F) 4组FFT变换(B) 4组FFT变换(D) N

libgdx游戏框架介绍

libgdx作为上层为java,底层c和c++的游戏引擎.简直是优秀得一塌糊涂.  这个游戏框架最初只有1个人在维护,现在已经加入不少人了,越来越给力. libgdx的架构 很清晰, 我们先从包的结构分析: assets 代表资源包,用于资源加载等管理. audio 音频包,游戏需要播放声音时用. files 文件处理包,内部主要对象是FileHandle ,如果你用过Libgdx肯定对次很熟悉,libgdx加载纹理图片等都是通过此对象. graphics 绘画相关,就是我们要把游戏中的控件或者

Libgdx: android单机斗地主支持局域网wifi联网的网络模块核心代码

这个作品是我最近写的,结合我的毕业设计的通信模块和之前的单机版斗地主.我已经上架到豌豆荚了,贴了点广告,看看能不能赚点茶钱.可是一点也不乐观.因此我想分享给大家源码.只要不用于商业. 下面先贴网络模块的核心代码,第一次写这种逻辑用的udp, 经验不够,没有写的那么好看. 这里是我上架的apk,大家下载来试试也无妨: 地址 http://www.wandoujia.com/apps/com.hj.joker package com.hj.net; import java.io.ByteArrayI