【学习笔记】Cocos2d-x 重力加速计的使用
来源:互联网 发布:可口可乐波士顿矩阵 编辑:程序博客网 时间:2024/05/18 03:48
主题:重力加速计使用说明
步骤
1.开启重力加速计
void AccelerometerTest::onEnter(){ CCLayer::onEnter();//当前layer中开启重力加速计 setAccelerometerEnabled(true); CCLabelTTF* label = CCLabelTTF::create(title().c_str(), "Arial", 32); addChild(label, 1); label->setPosition( ccp(VisibleRect::center().x, VisibleRect::top().y-50) ); m_pBall = CCSprite::create("Images/ball.png"); m_pBall->setPosition(ccp(VisibleRect::center().x, VisibleRect::center().y)); addChild(m_pBall); m_pBall->retain();}
2.实现接口方法
void AccelerometerTest::didAccelerate(CCAcceleration* pAccelerationValue){ CCDirector* pDir = CCDirector::sharedDirector(); /*FIXME: Testing on the Nexus S sometimes m_pBall is NULL */ if ( m_pBall == NULL ) { return; } CCSize ballSize = m_pBall->getContentSize(); CCPoint ptNow = m_pBall->getPosition(); CCPoint ptTemp = pDir->convertToUI(ptNow); ptTemp.x += pAccelerationValue->x * 9.81f; ptTemp.y -= pAccelerationValue->y * 9.81f; CCPoint ptNext = pDir->convertToGL(ptTemp); FIX_POS(ptNext.x, (VisibleRect::left().x+ballSize.width / 2.0), (VisibleRect::right().x - ballSize.width / 2.0)); FIX_POS(ptNext.y, (VisibleRect::bottom().y+ballSize.height / 2.0), (VisibleRect::top().y - ballSize.height / 2.0)); m_pBall->setPosition(ptNext);}
这个是引擎自带的TestCpp中的示例。
- 【学习笔记】Cocos2d-x 重力加速计的使用
- 加速计(重力感应功能)的使用
- Cocos2d-x 3.1.1 Lua实例-AccelerometerTest(重力加速计)
- iphone游戏开发之cocos2d ( 八 )使用加速计(重力感应)控制精灵移动UIAcceleration
- cocos2d-x 重力感应 加速器的使用
- 关于cocos2d-html5 中使用重力感应于重力加速
- [寒江孤叶丶的Cocos2d-x之旅_11]Cocos2d-x的重力感应Demo。如何使用重力感应。
- 加速计.陀螺仪的使用
- iOS - 加速计(重力感应)
- iOS学习笔记 加速计和陀螺仪
- cocos2d-x重力感应
- cocos2d-x重力感应
- cocos2d-x 重力感应
- Cocos2d-x学习笔记(五)CCLayer分析及输入事件处理(触摸、重力传感器、按键)
- 【Cocos2d入门教程九】浅析Cocos2d下的加速计事件
- cocos2d-x学习笔记(15)--地图的使用1(TMX)
- cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
- cocos2d-x-3.0学习笔记之瓦片地图的使用
- Android 获取手机信息
- poj 3308 (最大流)
- tomcat/resin使用全局数据库连接池资源
- mac系统如何显示和隐藏文件
- Uninstall PowerDVD with WindowsUninstaller.Org Removal Tips
- 【学习笔记】Cocos2d-x 重力加速计的使用
- 安装Adobe Reader 时报错:HRESULT:0x80070422
- 要的工资太高,导致直接失去面试或工作机会怎么办?
- PL/SQL Developer 远程连接Oracle数据库
- IDE for ROS
- Connecting to TFS 2010 with Visual Studio 2008
- shell 脚本 “bc: command not found ” 解决
- Ubuntu安装apache
- SVM入门(一)至(三)