cocosjs 3.16在NO_BORDER模式下rendtexture的bug
需求:在no_border模式下将一张图片渲染到rendertexture下,以降低draw的批次。
cocosjs 的rendertexture是依赖于view视图的,如上图所示:
橙色是游戏的设计分辨率,灰色是屏幕,NO BORDER 适配可能出现上面这种情况。
然后黄色的虚线是几种尺寸的 render texture 。这样不管你的rendertexture的尺寸设置为多大,图片render出来的位置永远如图所示,少了一大截。这样当然不是我们想要的,我们希望的是将整张图片render到纹理上,cocos的人员给出的解决方案是在render之前将屏幕适配模式设置为show_all,render结束后再改为no_border。
其实只要把图片的位置做个偏移就行了。