监听事件的时候使用的是是cc.eventManager.addListener,包含两个参数,一个是监听的事件,一个是节点。
第一个参数对象中,除了触发事件外,要声明是何种event
重力感应事件有两个返回参数
accelerometerInfo以及event
一下DEOMO为一个重力感应小球运动
/* 重力感应 事件 */ var AccelerometerLayer = cc.Layer.extend({ ctor: function () { this._super(); var winSize = cc.director.getWinSize(); var ball = new cc.Sprite(res.CloseNormal_png); ball.x = winSize.width/2; ball.y = winSize.height/2; this.addChild(ball); if('accelerometer' in cc.sys.capabilities){ cc.inputManager.setAccelerometerInterval(1/30); //重力感应器的频率 cc.inputManager.setAccelerometerEnabled(true); //是否允许重力感应器 cc.eventManager.addListener({ event:cc.EventListener.ACCELERATION,callback:function(accelerometerInfo,event){ var target = event.getCurrentTarget(); var pos = { x:accelerometerInfo.x,y:accelerometerInfo.y,z:accelerometerInfo.z }; //cc.log(pos); var w = winSize.width,h = winSize.height; ball.x += pos.x; ball.y += pos.y; } },this); } } }); var AccelerometerScene = cc.Scene.extend({ onEnter: function () { this._super(); var layer = new AccelerometerLayer(); this.addChild(layer); } });