Cocos2D-X开发学习笔记1:加速度传感器
来源:互联网 发布:淘宝女装2017夏装新款 编辑:程序博客网 时间:2024/05/17 02:37
最近报名了微软创新杯,正好在实战中学习Cocos2D-X,应该会进步更快,因此转为记录开发学习笔记。初步打算做个运动软件,需要用到加速度传感器,因此首先学习一下加速度传感器的使用。
首先来看一下原理。加速度传感器可以获取如图x,y,z三个方向的加速度。手机静止时受到重力,可以确定合力方向向下。当手机被移动时,可以根据手机静止时的状态和各方向的加速度变化来确认各个方向。
Cocos2D-X中支持加速度传感器,将三个轴上的加速度存在acc->x,acc->y,acc->z中。
下面是一个示例:
bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if (!Layer::init()) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); screenWidth = visibleSize.width; screenHeight = visibleSize.height; scale = 1.0f; label1 = Label::create("0,0,0","Arial",70); label1->setPosition(screenWidth / 2, screenHeight / 2); this->addChild(label1); Device::setAccelerometerEnabled(true); auto listener = EventListenerAcceleration::create(CC_CALLBACK_2(HelloWorld::onAcceleration, this)); //CC_CALLBACK的作用是让_target_对象用_selector_函数时绑定第0/1/2/3个参数后面参数的值 _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); return true;}void HelloWorld::onAcceleration(Acceleration* acc, Event* event){ label1->setString(String::createWithFormat("%.2f,%.2f,%.2f", acc->x, acc->y, acc->z)->getCString());}
通过Device::setAccelerometerEnabled(true);打开加速度传感器,然后创建了监听器listener,让它被触发时调用onAcceleration,最后将监听器和场景绑定,这样就可以使用加速度传感器了,通过定义onAcceleration方法来实现相关的操作。
这里的操作是获取三个轴上的加速度并显示,效果图如下:
可见加速度传感器的使用还是很简单的。我们可以通过加速度传感器做很多东西,比如计步器、游戏(尤其是赛车游戏)中的控制、转屏等功能,还是很实用的。
0 0
- Cocos2D-X开发学习笔记1:加速度传感器
- 【Cocos2d-X开发学习笔记】第24期:事件处理机制之加速度传感器事件
- Arduino学习笔记二三轴加速度传感器ADXL345
- 加速度传感器开发分析
- iOS学习,加速度传感器
- Cocos2d-x Ease加速度
- cocos2d-x初探学习笔记(10)--运动中的加速度效果
- cocos2d-x初探学习笔记(10)--运动中的加速度效果
- 【Android】安卓学习笔记之加速度传感器的用法
- IOS学习笔记-加速度传感器(重力感应)-UIAccelerometer
- IOS学习笔记-加速度传感器(重力感应)-UIAccelerometer
- cocos2d-x基本知识点:事件处理机制之加速度传感器事件
- android 传感器使用与开发----加速度传感器
- 传感器开发之TYPE_ACCELEROMETER加速度传感器.
- Cocos2d-x学习笔记之Cocos2d-x开发环境搭建
- cocos2d-x 3.x游戏开发学习笔记(1)--mac下配置cocos2d-x 3.x开发环境
- cocos2d-x 3.x游戏开发学习笔记(1)--mac下配置cocos2d-x 3.x开发环境
- cocos2d-x 3.x游戏开发学习笔记(1)--mac下配置cocos2d-x 3.x开发环境
- web第二课
- Container With Most Water【中】
- web第三课
- 相对定位
- Swap values of two variables without extra space
- Cocos2D-X开发学习笔记1:加速度传感器
- c语言中数组arr的表示含义
- 利用python的GUI组件wxWidgets实现登录窗口
- 关于Azure虚拟机与镜像市场
- 今日做题的一个意外发现
- Android Studio -修改LogCat的颜色
- 十五章上机代码
- Win10下Keras的配置
- AOI中通用的图像检测算法实现——母版比对