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 }
  • 相关阅读:
    C# 16进制字节转Int(涉及:Base64转byte数组)
    c# CRC-16 / MODBUS 校验计算方法 及 异或校验算法
    SqlSugar 用法大全
    SQL Server-聚焦NOLOCK、UPDLOCK、HOLDLOCK、READPAST你弄懂多少?
    使用 tabindex 配合 focus-within 巧妙实现父选择器
    DataX 3.0 源码解析一
    Golang必备技巧:接口型函数
    PID控制
    dockerfile,拷贝文件夹到镜像中(不是拷贝文件夹中的内容到镜像)
    什么是PKI?主要作用是什么?
  • 原文地址:https://www.cnblogs.com/atong/p/3284901.html
Copyright © 2011-2022 走看看