《开发之旅》学习笔记:重力感应事件

前端之家收集整理的这篇文章主要介绍了《开发之旅》学习笔记:重力感应事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


监听事件的时候使用的是是cc.eventManager.addListener,包含两个参数,一个是监听的事件,一个是节点。
第一个参数对象中,除了触发事件外,要声明是何种event

重力感应事件有两个返回参数 accelerometerInfo以及event
一下DEOMO为一个重力感应小球运动

  1. /* 重力感应 事件 */
  2.  
  3. var AccelerometerLayer = cc.Layer.extend({
  4. ctor: function () {
  5. this._super();
  6.  
  7. var winSize = cc.director.getWinSize();
  8. var ball = new cc.Sprite(res.CloseNormal_png);
  9. ball.x = winSize.width/2;
  10. ball.y = winSize.height/2;
  11. this.addChild(ball);
  12.  
  13. if('accelerometer' in cc.sys.capabilities){
  14. cc.inputManager.setAccelerometerInterval(1/30); //重力感应器的频率
  15. cc.inputManager.setAccelerometerEnabled(true); //是否允许重力感应器
  16.  
  17. cc.eventManager.addListener({
  18. event:cc.EventListener.ACCELERATION,callback:function(accelerometerInfo,event){
  19. var target = event.getCurrentTarget();
  20. var pos = {
  21. x:accelerometerInfo.x,y:accelerometerInfo.y,z:accelerometerInfo.z
  22. };
  23.  
  24. //cc.log(pos);
  25.  
  26. var w = winSize.width,h = winSize.height;
  27.  
  28. ball.x += pos.x;
  29. ball.y += pos.y;
  30.  
  31. }
  32. },this);
  33. }
  34. }
  35. });
  36.  
  37. var AccelerometerScene = cc.Scene.extend({
  38. onEnter: function () {
  39. this._super();
  40.  
  41. var layer = new AccelerometerLayer();
  42. this.addChild(layer);
  43. }
  44. });

猜你在找的Cocos2d-x相关文章