用Cocos Creator写的一个小游戏,调用onAccelerometerChange 获取重力感应结果时里面的回调函数不被执行,完全没有任何输出,那怕是直接用文档里下面这个给出的示例程序也没有输出,感觉完全没有进入到回调函数里(打印“1”都打不出来)
wx.onAccelerometerChange(function(res) {
console.log(1)
console.log(res.x)
console.log(res.y)
console.log(res.z)
})
但是在onAccelerometerChange的前、后执行
window.wx.startAccelerometer({
interval: 'normal',
success: function (res) {
console.log('startAccelerometer', 'success',res)
},
fail: function (res) {
console.log('startAccelerometer', 'fail')
},
complete: function (res) {
console.log('startAccelerometer', 'ok')
}
});
却有效果
这是代码逻辑问题,建议给个代码片段给大家看看( https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html )
Cocos生成的代码超过了代码片段200K的限制,调用API部分的函数如下:
Prepare () {
console.log(1);
if (CC_WECHATGAME){
console.log(2);
window.wx.startAccelerometer({
interval: 'normal',
success: function (res) {
console.log('startAccelerometer', 'success',res)
},
fail: function (res) {
console.log('startAccelerometer', 'fail')
},
complete: function (res) {
console.log('startAccelerometer', 'ok')
}
});
console.log(3);
wx.onAccelerometerChange(function() {
console.log(4);
});
wx.startAccelerometer({
interval: 'normal',
success: function (res) {
console.log('startAccelerometer', 'success',res)
},
fail: function (res) {
console.log('startAccelerometer', 'fail')
},
complete: function (res) {
console.log('startAccelerometer', 'ok')
}
});
}
},
调试输出为
1
2
3
startAccelerometer success {errMsg: "startAccelerometer:ok"}
startAccelerometer ok
startAccelerometer success {errMsg: "startAccelerometer:ok"}
startAccelerometer ok
4没有打出来,说明onAccelerometerChange里回调函数没执行
楼主,问题解决了没,求赐教啊,搞了好久了不知道为什么