大家在做棋牌App或者一些特定需求的时候,需要截取当前游戏屏幕内容保存。

我们一般是采用cc.RenderTexture来截图并保存到游戏的可写目录

有时候会遇上,截出来的图片是白屏,或者部分白屏。

经过多方测试,我们发现,是Mask的锅,用了cc.Mask的界面,截图的时候,就会遇上这样的问题。

如果遇上这样的问题,只需要检查你的cc.RenderTexture初始化的时候,是否少了参数。最主要的是第三个参数,一定要是RGBA8888

var texture = new cc.RenderTexture(w, h, cc.Texture2D.PIXEL_FORMAT_RGBA8888, gl.DEPTH24_STENCIL8_OES);

完整示例如下:

function captureScreen(){var size = cc.director.getWinSize();var fileName = "result_share.jpg";var fullPath = jsb.fileUtils.getWritablePath() + fileName;if (jsb.fileUtils.isFileExist(fullPath)) {jsb.fileUtils.removeFile(fullPath);}var width = Math.floor(size.width);var height = Math.floor(size.height);var texture = new cc.RenderTexture();texture.initWithSize(width, height, cc.gfx.RB_FMT_D24S8);texture.setPosition(cc.p(size.width / 2, size.height / 2));texture.begin();cc.director.getRunningScene().visit();texture.end();texture.saveToFile(fileName, cc.IMAGE_FORMAT_JPG);
}

麒麟子Cocos Creator实用技巧四:打包原生App截图白屏解决方案相关推荐

  1. 麒麟子Cocos Creator实用技巧

    麒麟子Cocos Creator实用技巧 大家好,我是麒麟子, 开源棋牌<幼麟棋牌-四川麻将>(泄漏版叫 <达达麻将>)作者,成都幼麟科技创始人. 自09年进入游戏行业以来,不 ...

  2. 麒麟子Cocos Creator实用技巧八:回合战棋类RPG战斗效果

    HELLO,大家好,我是麒麟子.作为Cocos社区高产用户,今天又给大家带来了一个看起来很酷,但实际上大多数人用不到的DEMO. 不知道大家是否记得梦幻西游.问道.英雄无敌.仙剑奇侠传.神仙道.神曲O ...

  3. 麒麟子Cocos Creator实用技巧五:技能CD效果制作

    今天带给大家的是一个关于技能CD的效果制作. 此效果不仅可以用于技能CD,一些按钮的CD也是可以用的. 为了照顾大家迫不及待(猴急)的心情,我写了一个DEMO给大家.DEMO上面做了5个英雄的技能和一 ...

  4. 麒麟子Cocos Creator实用技巧六:游戏背景拖拽实现

    麒麟子做了一个DEMO给大家,这个DEMO很简单,大家可以按下鼠标,或者在手机上按住不放. 拖拽背景,背景会根据拖拽移动. 同时会保证背景边缘不会越过父节点的上下左右边界 在线演示:https://q ...

  5. 麒麟子Cocos Creator实用技巧七:方向与角度转换

    麒麟子做了一个Demo给大家,向大家演示了方向转角度,角度转方向的应用. Demo中有两个坦克,中间的坦克锁定了另一个坦克,始终把自己的炮口对准它,并且会不停地发朝另一个坦克发射炮弹. 发出来的炮弹会 ...

  6. 麒麟子Cocos Creator实用技巧一:如何正确地显示微信头像

    不管是游戏App,还是H5,又或者是微信小游戏.但凡接入了微信登录的应用,都可能需要显示微信头像. 在Cocos Creator中,我们常见的显示方法像下面这样 var headimg = 'http ...

  7. 麒麟子Cocos Creator实用技巧十:function this self ()={}详解

    先说一声对不起,这篇文章本应该是昨天写的.(强行假装有很多人在等着看) 昨天聚众饮酒去了,喝醉了,可能喝了有两百多瓶吧. 有人就说啦,唉麒麟子,你怎么老爱吹牛*,动不动就两百多瓶,你真当自己是牛么. ...

  8. 麒麟子Cocos Creator实用技巧二:微信名字截断(支持表情)

    在我们日常游戏开发中,经常会面临将玩家名字截断的需求. 假如玩家是在我们游戏中创建的名字,那么可以简单粗暴地禁止玩家使用手机表情输入即可. 但如果我们是第三方账号登录,且使用了第三方账号的用户昵称,那 ...

  9. 麒麟子Cocos Creator 3D研究笔记四:天空盒动态更换与IBL效果

    麒麟子Cocos Creator 3D研究笔记之材质IBL与天空盒动态切换 在线演示地址: https://showcase.ukylin.net/skybox/ 天空盒对于3D渲染场景来说,有着不个 ...

最新文章

  1. 引入js失败的可能原因
  2. php判断日期为空值,php判断值是否为空实例代码
  3. 【网络编程】之二、socket API学习
  4. ASP.NET Core中使用IOC三部曲(二.采用Autofac来替换IOC容器,并实现属性注入)
  5. CXF学习(2) helloworld
  6. (JAVA)线程之lock和死锁(例)
  7. html GPS坐标实现,JavaScript 实现GPS坐标点距离计算(两个经/纬度间的距离计算)...
  8. 零基础学web前端难吗?新手该怎么学?
  9. linux nfs文件共享
  10. 遥感数据下载——土地利用(覆盖)数据下载
  11. android手机刷ios6,iOS8.4降级6.1.3教程 iPhone4s降级iOS6.1.3
  12. Elk-Metricbeat配置Nginx的日志分析 (Metricbeat-part2)
  13. antd table组件 表格内换行
  14. 菜哥学知识图谱(通过“基于医疗知识图谱的问答系统”)(三)(代码分析)
  15. Android常用第三方支付
  16. JavaFX 皮肤功能
  17. winform 画图的放大和缩小_画错图纸被判3年,罚10万!画图真的需要严谨
  18. Python中timedelta类型的理解
  19. unity网络实战开发(丛林战争)-前期知识准备(008-粘包和分包及解决方案)
  20. 国内外的免费AI作图工具

热门文章

  1. 电动车号牌输入组件plate-number-input使用
  2. 【CV】ConvNeXt:A ConvNet for the 2020s
  3. 新浪股票接口 java_新浪股票接口Android SDK(非官方)
  4. java 线程 try catch_Java子线程中的异常处理(通用)
  5. DM8 十大新特性:
  6. 盘点国内外8个好用的二维码平台
  7. nginx 配置https
  8. 数据安全与虚拟网卡的应用(三)
  9. 【3DSlicer】基于心脏ct影像重建3d模型及导出
  10. MySQL——02【基本CRUD操作】