zoukankan      html  css  js  c++  java
  • 第八章 Libgdx输入处理(6)加速度计

    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
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 
    支持: 新浪微博 腾讯微博

  • 相关阅读:
    Java面试题
    删除两个相同的数据
    Oracle中的rowid rownum
    SQL的七种连接
    Oracle的分页和MySQL的分页
    Script to Collect Log File Sync Diagnostic Information (lfsdiag.sql) (文档 ID 1064487.1)
    Analytic Functions in Oracle
    Oracle X$Tables
    Microsoft SQL Server Trace Flags
    Oracle Log Block Size
  • 原文地址:https://www.cnblogs.com/hainange/p/6153553.html
Copyright © 2011-2022 走看看