cocos2d-x重力感应

来源:未知 责任编辑:智问网络 发表时间:2013-11-10 20:13 点击:

1.调用cclayer的方法setAccelerometerEnabled(true)在层里启用重力感应


2.启用重力感应后,重力方向变化时,会回调cclayer的方法didAccelerate( CCAcceleration* pAccelerationValue ),在自己派生的层里重写此方法,如:

[java]
void MyCarLayer::didAccelerate( CCAcceleration* pAccelerationValue ) 

    //控制减速的速率值越小,更容易改变方向   
    float deceleration = 0.5f;   
    //加速计的敏感值越大,主角对加速计的输入会越敏感   
    float sensitivity = 10.0;   
    //最大移动距离   
    float maxVelocity = 100.0f;   
 
    m_myCarMoveDis.x = m_myCarMoveDis.x*deceleration + pAccelerationValue->x*sensitivity;   
    if (m_myCarMoveDis.x>=maxVelocity)   
    {   
        m_myCarMoveDis.x = maxVelocity;   
    } 
    else if(m_myCarMoveDis.x <=-maxVelocity)   
    {   
        m_myCarMoveDis.x = -maxVelocity;   
    }  

pAccelerationValue包含x,y,z三个方向的重力值(由手机在这3个方向的偏移决定)
一般在这个回调函数里得到一次重力感应主角的偏移距离,然后在update里把主角的当前位置加上这个距离

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • cocos2d-x学习笔记(19)--label 、label atlas
    • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
    • Cocos2d-x学习(一):HelloWorld
    • cocos2dx在xcode下开发,编译到android上(2)
    • cocos2d 设置屏幕默认方向
    • Cocos2d-x 2.0 之 Actions “三板斧” 之一
    • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
    • cocos2d-x学习笔记(18)--游戏打包(windows平台)
    • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1