运行环境IOS 3.15.1
如上图所示,我的原图是200X200的
可是renderTexture生成的图大了一倍去了,
请问这个为什么呢?
同样的代码在3.10的时候是好好的
var renderTexture=new cc.RenderTexture(bounds.width2,bounds.height2,cc.PIXEL_FORMAT_RGBA8888,gl.DEPTH24_STENCIL8_OES);//这里X2是为了让大家看到完整的复制出来的图。
renderTexture.setVirtualViewport(cc.p(bounds.x,bounds.y),cc.rect(0,0,winSize.width,winSize.height),cc.rect(0,0,pixelSize.width,pixelSize.height));
renderTexture.beginWithClear(0,0,0,0,0,0);
target.visit();
renderTexture.end();
renderTexture.x=800;
renderTexture.y=400;
cc.director.getRunningScene().addChild(renderTexture);
问题找到了,在于:
renderTexture.setVirtualViewport(cc.p(bounds.x,bounds.y),cc.rect(0,0,winSize.width,winSize.height),cc.rect(0,0,pixelSize.width,pixelSize.height));
pixelSize,winSize 我在初始化JS的时候就同时去获取了,在我的测试项目里,这些代码是直接在project.json 里加入进去的,获得的数值都是屏幕的数值,是不正确的。
应该要等各种设置初始化完成后再去获取就可以了。以前可以是因为,以前这些代码都是后面用脚本加入的。今天坑了我一个晚上了。,。。,
