收藏
回答

重力感应API回调函数不执行

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小游戏 Bug onAccelerometerChange 微信iOS客户端 iOS 6.6.7 1.9.94

用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')
}
});
却有效果


回答关注问题邀请回答
收藏

2 个回答

  • 邓坤力
    邓坤力
    2018-06-22

    这是代码逻辑问题,建议给个代码片段给大家看看(  https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html  

    2018-06-22
    有用
    回复 1
    • 命运sniper
      命运sniper
      2018-06-22

      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里回调函数没执行

      2018-06-22
      回复
  • ButYou
    ButYou
    2018-07-15

    楼主,问题解决了没,求赐教啊,搞了好久了不知道为什么

    2018-07-15
    有用
    回复
登录 后发表内容