监听事件的时候使用的是是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); } });