Cocos 多次利用摄像机render获得图片,在安卓端会出问题

  • Creator 版本:

  • 目标平台:

  • 重现方式:

  • 首个报错:

  • 之前哪个版本是正常的:

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统:

  • 重现概率:

Cocos版本:2.4.2
目标平台:安卓
问题描述:
发帖求助~
目前我做的项目是一个像素风格的填色游戏,由于首页会有较多的图片缩略图,由于缩略图需要根据玩家是否操作过来进行实时的更新(未涂过的点为灰色小格子,已经涂过的点为原本颜色的格子),所以我用了一个新的摄像机来渲染每一张图片,保存起来,用于显示.但是遇到的问题也不少.
由于图片的渲染在切换不同主题时不能太过卡顿,而经过我多次的测试,渲染图片的逻辑是,将当前屏幕需要渲染的图片的请求通过类似于队列的形式依次加载,构成图片的小格子根据位置信息排列在摄像机的子物体下,摄像机渲染它,在保存到本地.渲染的过程大体类似于:
1.先判断子物体下是否有格子,有的话先用对象池回收.
2.摄像机新建RenderTexture,延时一帧
3.根据图片的位置信息,将组成图片的小格子生成到摄像机的子物体下,再延时一帧
4.摄像机再次新建RenderTexture,再次延时一帧
5.摄像机渲染子物体,获得一个SpriteFrame对象,再延时一帧
6.摄像机再次新建RenderTexture,再次延时一帧
7.摄像机渲染子物体,获得一个SpriteFrame对象,再延时一帧
渲染代码如下:



由于我是从Unity转的Cocos,所以这个渲染图片的过程,可能会很麻烦但是在浏览器端和IPhone上可以运行,在安卓端会出现这样的问题:



希望了解这个问题的大佬们,不吝赐教,帮一下我~谢谢

1赞

你这个截图软件是啥啦,看着发出的图片还有阴影了

截图就是用安卓手机截的图,然后用mac的截图软件

看不懂,但这个scheduleOnce的用法感觉好怪

之所以这样用,是因为如果不延迟渲染的话,渲染十张照片,最后获得的SpriteFrame都会是一样的:sob:

最新尝试了在回收小格子的时候将其隐藏,但是还是不行,头疼…

顶一下,求大佬指导~

顶一下,求大佬指导~

顶一下,求大佬指导~

菜鸟路过。,,

顶一下,求大佬指导~

华为机型是没问题的,红米和OPPO的在微信端会出现这种问题

顶一下,希望大佬能看到~