Quantcast
Channel: Cocos中文社区 - 最新主题
Viewing all articles
Browse latest Browse all 88774

关于小游戏子域模糊的问题

$
0
0

@785293346 写道:

:sweat_smile:发现了一个奇怪的问题,有大神知道原因吗。。。
问题:子域排行榜是用的demo的方法,主域const openDataContext = wx.getOpenDataContext();
const sharedCanvas = openDataContext.canvas;
this.tex.initWithElement(sharedCanvas);
this.tex.handleLoadedTexture();
this.list.spriteFrame = new cc.SpriteFrame(this.tex);每帧刷新的,但这个结果是子域明显很模糊,原因没了解。

今天解决问题时找到了这个帖子http://forum.cocos.com/t/cocos-creator-1-9-1/58971。一开始是这么写的
const openDataContext = wx.getOpenDataContext();
const sharedCanvas = openDataContext.canvas;
if (sharedCanvas) {
sharedCanvas.width = cc.game.canvas.width * 2;
sharedCanvas.height = cc.game.canvas.height * 2;
}
this.tex.initWithElement(sharedCanvas);
this.tex.handleLoadedTexture();
this.list.spriteFrame = new cc.SpriteFrame(this.tex);子域那边也按帖子的写了然后发现看不到了,应该是位置不对在屏幕外了。。。。:sweat_smile:灵关一闪,子域那边的添加去掉了,然后主域这边的if (sharedCanvas) {
sharedCanvas.width = cc.game.canvas.width * 2;
sharedCanvas.height = cc.game.canvas.height * 2;
}添加到别的地方去,是的,保证只执行一次:joy:然后莫名其妙的清晰度提高了。个人猜想是子域画布刷过来是好像无论画布多大,刷出的分辨率都不变?然后实际显示尺寸一样情况下,画布越大,清晰度越高?尝试改了下sharedCanvas.width = cc.game.canvas.width * 4;sharedCanvas.height = cc.game.canvas.height * 4;手机预览看确实清晰度又高了点:joy:也去找过一些,有人说是跟什么物理像素和设备独立像素啥的。。。具体原因有大神知道吗

帖子: 1

参与者: 1

阅读整个主题


Viewing all articles
Browse latest Browse all 88774

Trending Articles