最近在做小游戏多平台接入,从WX平台移植到QQ平台,其他的都还挺顺利的,API基本一样,几乎是只要将wx.改成qq.就行了,
但是在接入排行榜的时候遇到一些坑,特列出如下,希望给掉入这些坑的同行一个参考(我的开发环境是cocosCreator 2.1.0)。
坑一:在自域中使用label组件,且使用默认字体时报如下错误:
Canvas.js:60 Uncaught TypeError: Cannot redefine property: clientWidth
at Function.defineProperty (<anonymous>)
at new Canvas (Canvas.js:60)
at HTMLDocument.createElement (document.js:55)
at Object.get (cocos2d-js-min.a8f43.js:1)
at Object._getAssemblerData (cocos2d-js-min.a8f43.js:1)
at r._applyFontTexture (cocos2d-js-min.a8f43.js:1)
at r._updateRenderData (cocos2d-js-min.a8f43.js:1)
at r.onEnable (cocos2d-js-min.a8f43.js:1)
at r.onEnable (cocos2d-js-min.a8f43.js:1)
at r.invokeOnEnable [as _invoke] (cocos2d-js-min.a8f43.js:1)
cocos2d-js-min.a8f43.js:1 Uncaught TypeError: Cannot read property 'context' of null
at Object._updateProperties (cocos2d-js-min.a8f43.js:1)
at Object.updateRenderData (cocos2d-js-min.a8f43.js:1)
at g.150.y._updateRenderData (cocos2d-js-min.a8f43.js:1)
at g.150.y._worldTransform (cocos2d-js-min.a8f43.js:1)
at g.150.y._localTransform (cocos2d-js-min.a8f43.js:1)
at g.150.y._children (cocos2d-js-min.a8f43.js:1)
at g.150.y._render (cocos2d-js-min.a8f43.js:1)
at g.150.y._color (cocos2d-js-min.a8f43.js:1)
at g.150.y._updateRenderData (cocos2d-js-min.a8f43.js:1)
at g.150.y._worldTransform (cocos2d-js-min.a8f43.js:1)
点击异常at Object._updateProperties (cocos2d-js-min.a8f43.js:1)连接,进入发现引擎里面在设置默认字体附件报错,我就想尝试下,不用默认字体看看会不会有问题呢?
原本时这样子的:
于是我改用hero的字体,不用默认字体
测试结果,可以正常显示:
也希望cocos引擎组能早日修复这个bug,比较QQ平台是个大平台了,接入的人绝对不少。
更多惊喜,请关注公众号: