在游戏开发中我们经常会用到加速计事件,可能初学的同学对它还不大熟悉,本篇教程将详细剖析Cocos2d-x中的加速计事件。
接下来我们来介绍下游戏中也经常用到的加速计事件,这些都是游戏中的经常要用到的。
移动设备上一个很重要的输入源是设备的方向,大多数设备都配备了加速计,用于测量设备静止或匀速运动时所受到的重力方向。
重力感应来自移动设备的加速计,通常支持X、Y和Z三个方向的加速度感应,又称为三向加速计。实际应用中,可以根据三个方向的力度大小来计算手机倾斜的角度和方向。
3.0机制中,我们只需要创建一个加速计监听器EventListenerAcceleration,实现响应的回调函数,在回调函数中实现相应的游戏逻辑即可,最后把创建的监听器注册到事件分发器_eventDispatcher中即可。
EventListenerAccerlation的静态create方法中有个Accerlation的参数,这个Accerlation是一个类,包含了加速计获得的三个方向的加速度,
代码如下:
该类中每个方向的加速度大小都为一个重力加速度大小。
使用加速度计事件之前,需要先开启硬件设备,逗比的我在用这个之前,没注意到这点,我说为什么我都弄好了,跑出来的效果不是我想象的那样呢,最后发现没有开启硬件设备,有时小小的问题都有可能困扰你半天,到最后你发现居然是TMD这个错误,感觉自己瞬间就要崩溃的节奏。
开启硬件设备的语句:
Device::setAccelerometerEnabled(true);
创建监听器,创建回调函数,在创建回调函数时,可以用lambda表达式来创建匿名函数,也可以绑定已有的函数。
好啦,在经过上述的介绍与讲解之后,相信各位同学已经对Cocos2D-X中的加速计事件有了大概的印象,假如你觉得对Cocos2D-X中的加速计事件还不甚了解,那么建议你到本站视频站中观看相关视频。接下来我们进入正题。
下面来看一下一个完整的步骤代码,用的是匿名函数:
加速度计机制和触摸机制都是手游中经常要用到的东西,熟练掌握这些知识可以在开发中大大提升效率,同时也可以让代码看起来更清晰。
小结:
好啦,我们本篇关于Cocos2D-X中加速计事件的教程到这里就圆满结束啦,希望能对各位同学有所帮助。
¥118.00
¥66.00
¥108.00
¥299.00