下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

深度解析Cocos2D-X中怎么实现加速计事件的监听

作者:课课家教育     来源: http://www.kokojia.com点击数:771发布时间: 2016-05-03 16:01:00

标签: Cocos2D加速Cocos2D-X加速计Cocos2D-X教程

  在游戏开发中我们经常会用到加速计事件,可能初学的同学对它还不大熟悉,本篇教程将详细剖析Cocos2d-x中的加速计事件。

  接下来我们来介绍下游戏中也经常用到的加速计事件,这些都是游戏中的经常要用到的。

Cocos2d-x中的加速计事件

  移动设备上一个很重要的输入源是设备的方向,大多数设备都配备了加速计,用于测量设备静止或匀速运动时所受到的重力方向。

  重力感应来自移动设备的加速计,通常支持X、Y和Z三个方向的加速度感应,又称为三向加速计。实际应用中,可以根据三个方向的力度大小来计算手机倾斜的角度和方向。

  3.0机制中,我们只需要创建一个加速计监听器EventListenerAcceleration,实现响应的回调函数,在回调函数中实现相应的游戏逻辑即可,最后把创建的监听器注册到事件分发器_eventDispatcher中即可。

  EventListenerAccerlation的静态create方法中有个Accerlation的参数,这个Accerlation是一个类,包含了加速计获得的三个方向的加速度,

  代码如下:

Accerlation

  该类中每个方向的加速度大小都为一个重力加速度大小。

  使用加速度计事件之前,需要先开启硬件设备,逗比的我在用这个之前,没注意到这点,我说为什么我都弄好了,跑出来的效果不是我想象的那样呢,最后发现没有开启硬件设备,有时小小的问题都有可能困扰你半天,到最后你发现居然是TMD这个错误,感觉自己瞬间就要崩溃的节奏。

  开启硬件设备的语句:

  Device::setAccelerometerEnabled(true);

  创建监听器,创建回调函数,在创建回调函数时,可以用lambda表达式来创建匿名函数,也可以绑定已有的函数。

  好啦,在经过上述的介绍与讲解之后,相信各位同学已经对Cocos2D-X中的加速计事件有了大概的印象,假如你觉得对Cocos2D-X中的加速计事件还不甚了解,那么建议你到本站视频站中观看相关视频。接下来我们进入正题。

  下面来看一下一个完整的步骤代码,用的是匿名函数:

一个完整的步骤代码

  加速度计机制和触摸机制都是手游中经常要用到的东西,熟练掌握这些知识可以在开发中大大提升效率,同时也可以让代码看起来更清晰。

  小结:

  好啦,我们本篇关于Cocos2D-X中加速计事件的教程到这里就圆满结束啦,希望能对各位同学有所帮助。

赞(15)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程