除了触摸,移动设备上一个很重要的输入来源是设备的方向,因此大多数设备都配备了加速度计,用于测量设备静止或匀速运动时所受到的重力方向。
 目前,加速度计在传统PC平台上尚未提供支持,因此在正式开始探索重力感应之前,还请读者参考附录A,将Cocos2d-x工程部署到手机或其他移动设备上。现在,Android或iOS平台均支持加速度计。
 重力感应来自于移动设备的加速度计,通常支持X、Y和Z三个方向的加速度感应,所以又称为三向加速度计。在实际应用中,可以根据3个方向的力度大小来计算手机倾斜的角度或方向。
 和触摸事件一样,重力感应的处理先被引擎抽象为一个触摸代理协议,然后由CCLayer提供了一个简化的实现,屏蔽了注册到重力感应器等一系列细节。在开发中,我们只需要重载一个简单的事件即可:

virtual void didAccelerate(CCAcceleration* pAccelerationValue);


其中CCAcceleration是一个结构体:


typedef struct 
{
    double x;
    double y;
    double z;

    double timestamp;
} CCAcceleration;