按照官方推荐:
onLoad(){
//开启
cc.systemEvent.setAccelerometerEnabled(true); //设置是否开启重力传感
cc.systemEvent.on(cc.SystemEvent.EventType.DEVICEMOTION, this.onDeviceMotionEvent, this); //注册重力传感响应事件
}
onDestroy(){
//关闭
cc.systemEvent.setAccelerometerEnabled(false); //设置是否开启重力传感
cc.systemEvent.off(cc.SystemEvent.EventType.DEVICEMOTION, this.onDeviceMotionEvent, this); //注册重力传感响应事件
}
该脚本挂在预设A上面,当我destroy() A,同时在重新cc.loader.loadRes A1,会导致一些不在预期的情况发生。
A的onDestroy可能会在A1的onLoad之后进行,从而导致重力传感失效,因为cc.systemEvent是全局单例。
那么,这该如何解决呢?
官方能不能提供一个接口能获取当前AccelerometerEnabled是否生效呢?
或者我在A1的update里面一直执行打开重力传感?