开发中碰到的问题及解决方案:
1:场景工程中没有被依赖关联的图片声音或者其它资源,导出到微信后找不到
有些在场景工程中没有指定而通过代码中动态加载的资源,cocos creator不会导出到发布目录下,需要手动拷贝到对应的目录或者在工程的场景树中加一个隐藏的控件指定该资源。
2:微信排行榜子域问题
由于微信排行榜的开放数据只能在子域获取,所以相关的UI都应放在子域中。目前1.9.3版本中cocos提供的子域解决方案存在效率问题,所以排行榜最好做成一个弹出界面,平时不显示。(如果一定要一直显示,可以降低update的频率)
cocos creator中子域排行榜在部分安卓手机上会出现模糊的现象,解决方案如下:
主域加上如下代码:
var openDataContext = wx.getOpenDataContext();
var sharedCanvas = openDataContext.canvas;
if (sharedCanvas) {
sharedCanvas.width = cc.game.canvas.width * 2;
sharedCanvas.height = cc.game.canvas.height * 2;
}
子域添加如下代码:
cc.view._convertPointWithScale=function(point)
{
var viewport = this._viewPortRect;
point.x = (point.x - viewport.x) / (this._scaleX / 2);
point.y = (point.y - viewport.y) / (this._scaleY / 2);
};
cc.view._convertTouchesWithScale=function(touches)
{
var viewport = this._viewPortRect, scaleX = this._scaleX / 2, scaleY = this._scaleY / 2, selTouch, selPoint, selPrePoint;
for (var i = 0; i < touches.length; i++)
{
selTouch = touches[i];
selPoint = selTouch._point;
selPrePoint = selTouch._prevPoint;
selPoint.x = (selPoint.x - viewport.x) / scaleX;
selPoint.y = (selPoint.y - viewport.y) / scaleY;
selPrePoint.x = (selPrePoint.x - viewport.x) / scaleX;
selPrePoint.y = (selPrePoint.y - viewport.y) / scaleY;
}
};
完整版在
作者:游戏乐趣
欢迎关注,有问题一起学习欢迎留言、评论
你要保守你心,胜过保守一切。
作者:刘俊涛的博客