zoukankan      html  css  js  c++  java
  • Cocos2d-x学习笔记(二十五)之 加速度传感器事件

      智能手机的游戏与应用中,也经常会用到加速度传感器事件来丰富用户的操作,比如赛车游戏中摇动手机控制前进方向、动作过关游戏中通过加速度传感器来控制角色的移动和跳跃方向等。Cocos2D-x中使用加速度传感器代理CCAccelerometerDelegate提供的方法来接收加速度传感器的数值变化,继承关系如下:

      CCLayer-->CCAccelerometerDelegate。

      布景层类CCLayer和其子类继承自CCAccelerometerDelegate类,因此布景层类和其子类可以使用获得加速度传感器的方法。

      CCAccelerometerDelegate类的主要成员函数:

      didAccelerate:加速度传感器数据变化传入数据。

      didAccelerate函数传入CCAcceleration结构体,其数据如下:

      x:x轴分数据(以重力加速度为单位)。

      y:y轴分数据(以重力加速度为单位)。

      z:z轴分数据(以重力加速度为单位)。

      timestamp:时间戳。

      CCAcceleration结构体存储了加速度传感器的数据,包括时间戳和坐标轴上的加速度值,这个值以重力加速度为单位,因此,要获得相应坐标轴加速度的值时,需要乘上重力加速度g。

      使用示例如下:

    1 //要在CCLayer中获得加速度传感器事件的数据,首先要在初始化函数(onEnter)中加入允许接收加速度传感器事件的函数。
    2 setAccelerometerEnabled( true );
    3 
    4 //然后重写didAccelerate函数。在didAccelerate函数中获得CCAcceleration结构体,获得x轴和y轴的以重力加速度为单位的加速度值,分别乘以重力加速度值获得相应的加速度。
    5 void AccelerometerTest::didAccelerate( CCAcceleration* pAccelerationValue )
    6 {
    7 }
  • 相关阅读:
    [学习笔记] 网络最大流的HLPP算法
    [学习笔记] LCT 初步
    js中函数的原型及继承
    关于js中函数的一点总结
    关于css实现水平及垂直居中的方法记录
    js基础总结03 --操作数组
    近期学习es6后对变量提升及let和const的一点思考
    用css和js实现侧边菜单栏点击和鼠标滑动特效
    用css或js实现文本输入框的特效
    Jmeter怎样打印日志
  • 原文地址:https://www.cnblogs.com/atong/p/3284901.html
Copyright © 2011-2022 走看看