截图!长按保存分享!Cocos Creator
背景一种3D截图方案
【资料图】
参考 TRUE SPACE with Cocos 技术分享[1]中的动态生成海报的介绍,以及作者的支持。实现一个长按保存分享截图的方案。
效果在微信浏览器中预览效果如下
环境Cocos Creator 3.7.1
Web 浏览器
原理原作者讲的非常清楚,只需要按照以下步骤实现即可。
3D相机生成一个RT 赋予给2D精灵
摆上一些二维码等UI
UI相机再生成一张RT
读取RT中的数据,传给 canvas
canvas 生成图片数据传给 Image
适配Image对象大小位置
视频录了一段操作视频[2]供大家参考。
代码这段代码的截图功能是按照高度适配的方式写的,如有其他需求,可自行修改相关逻辑。仅供大家参考学习。
import{_decorator,Component,Node,Camera,RenderTexture,view,UITransform,log,game,screen,NodeEventType}from"cc";const{ccclass,property}=_decorator;@ccclass("CaptureImage")exportclassCaptureImageextendsComponent{@property(Camera)copyCamera:Camera=null!;@property(Node)targetNode:Node=null!;@property(Node)captureBtn:Node=null!;@property(Node)closeBtn:Node=null!;rt:RenderTextureprivate_image:HTMLImageElement_canvas:HTMLCanvasElement=null!;_buffer:ArrayBufferView=null!;start(){log("欢迎关注微信公众号【白玉无冰】https://mp.weixin.qq.com/s/4WwCjWBtZNnONh8hZ7JVDA")this.rt=newRenderTexture();this.rt.reset({width:view.getVisibleSize().width,height:view.getVisibleSize().height,})this.copyCamera.targetTexture=this.rt;this.captureBtn.active=true;this.closeBtn.active=false;this.captureBtn.on(NodeEventType.TOUCH_END,this.copyRenderTex,this)this.closeBtn.on(NodeEventType.TOUCH_END,this.clearCapture,this)}privatecopyRenderTex(){constwidth=this.targetNode.getComponent(UITransform).width;constheight=this.targetNode.getComponent(UITransform).height;constanchorPoint=this.targetNode.getComponent(UITransform).anchorPoint;constworldPos=this.targetNode.getWorldPosition();this._buffer=this.rt.readPixels(Math.round(worldPos.x-width*anchorPoint.x),Math.round(worldPos.y-height*anchorPoint.y),width,height);if(!this._canvas){this._canvas=document.createElement("canvas");this._canvas.width=width;this._canvas.height=height;}else{letctx=this._canvas.getContext("2d");ctx.clearRect(0,0,this._canvas.width,this._canvas.height);}letctx=this._canvas.getContext("2d")!;letrowBytes=width*4;for(letrow=0;row其他 最近写文偏笔记的形式,主要是记录一下代码,下次要用的时候再翻出来。希望对大家有所帮助。
参考资料[1]
TRUE SPACE with Cocos 技术分享:https://forum.cocos.org/t/topic/146459
[2]视频:https://www.bilibili.com/video/BV1w84y1N7XQ
往期精彩:
3DUI Cocos Creator
三渲二 Cocos Creator
零代码实现面片效果(UV滚动,帧动画) Cocos Creator
游戏开发资料合集,2022年版
点击“阅读原文”查看精选导航
“点赞“ ”在看”鼓励一下▼
标签:
精彩推送
看点:智度股份(000676)4月21日主力资金净卖出6352.24万元
截至2023年4月21日收盘,智度股份(000676)报收于6 17元,下跌8 18%,换手率4 34%,成交量54 76万手,成交额3 5亿元。
【世界报资讯】富荣基金管理有限公司旗下全部基金2023年第1季度报告提示性公告
本公司董事会及董事保证基金季度报告所载资料不存在虚假记载、误导性陈述或重大遗漏,并对其内容的真实性、
天天速讯:万东医疗:4月21日融券卖出金额6.05万元,占当日流出金额的0.08%
同花顺数据中心显示,万东医疗4月21日获融资买入1432 08万元,占当日买入金额的20 39%,当前融资余额8 99亿
热讯:海关总署副署长王令浚会见克罗地亚外交部国务秘书马图斯奇
据海关总署4月23日消息,4月21日上午,海关总署副署长王令浚在署会见克罗地亚外交部国务秘书弗拉诺& 183;马
新闻快讯
X 关闭
X 关闭
新闻快讯
- 截图!长按保存分享!Cocos Creator
- 瑞银:维持药明康德买入评级 目标价109港元
- 环球热消息:电动玻璃感应门视频_电动玻璃感应门
- 韩国海洋水产部设立水产品放射性物质检查申请网站,应对日本排放核污水
- 数字服务应用专委会发布“数智出海”项目:构建互联互通外贸新生态 全球观点
- 冰城海关快件渠道查获违规进境医疗器械 环球观天下
- 同比增长187.8%,增速位居全国第四!一季度宁夏实际利用外资跨越式增长
- pdf如何去除水印文字内容_pdf如何去除水印文字-世界即时
- 世界热讯:人工是什么字_仝解释
- 全球快报:基层动态|白银市消防救援支队会宁大队开展住宅小区专项治理以来阶段性验收
- Meta降低QuestVR耳机价格以吸引客户 世界即时看
- 上海cp29购票时间什么时候结束
- 多头泡泡玫瑰花语是什么?
- 【天天新视野】女曝老爸出轨成瘾,男方出轨怎么离婚
- 长谷瓷砖图片_长谷瓷砖
- [年报]开勒股份2022年营业收入3.04亿元 研发投入同比增长1.42%
- 【世界热闻】英雄联盟实名认证中心 英雄联盟实名注册网站
- 顺丰集团高级副总裁潘韦走访北京安徽企业商会 当前热议
- 哄抬酒店房价?未明码标价的行为最高可罚5000元
- 许昌经济技术开发区市场监管分局开展特种设备安全专项检查行动
- 人工智能预测足彩10连红 周中竞彩比赛怎么买?
- 环球关注:雪佛兰科沃兹蓝牙在哪,科沃兹蓝牙连接步骤
- 黄河滩涂好风光 天天看热讯
- 2023上海车展大奖:千帆竞发 哪款中国品牌首发新车最具亮点?
- 新消息丨“生僻字征集”小程序上线,输入法生僻字行业方案发布
- 当前讯息:罗沙路拟改扩建 将采用地面+地下复合通道
- 房山区各乡镇(街道)、各单位深入开展安全生产大检查|环球热点评
- 标致408车主可以集体起诉东风标致了
- 滑县:书香溢警营 “悦”读正当时
- 世界热点!泰安公布初中学业水平考试工作实施意见
- 足球热点前瞻:赫罗纳VS皇家马德里,狼队VS水晶宫,阿斯顿维拉VS富勒姆-天天要闻
- 智通港股回购统计|4月25日
- 公募基金一季度大调仓 切换赛道增配TMT
- 2023税务师《税法二》易错题分析:个人所得税优惠 简讯
- 环球快资讯:6月开始有贵人领路,运势上升最快,富贵安康的四大属相
- 斯莫林的受伤对罗马防线非常致命,加上上周欧联杯的...
- 小米13 Ultra卖爆了 卢伟冰:销量远超预期|天天播报
- 北京市创新产品“金属增材制造胸腰椎融合匹配式假体系统”获批上市_每日动态
- 快资讯:张掖智能制造产业园吹响招商引资“集结号”,助力工业经济高质量发展
- 今日最新!需求回暖价格走高 房屋竣工加速惠及A股玻璃企业
- 资讯:沙钢起诉,复星称其滥用诉权,南钢股权之争僵局如何破?
- 什么是塑性_塑性是什么
- 绿联一度电户外电源3699元
- 联动科技(301369)2023年一季报财务简析:净利润减94.51%-全球观速讯
- 童年河_童年河简介
- 环球快消息!欧阳毅故居
- 首都在线(300846):4月24日北向资金增持63.67万股
- 安道麦A(000553):4月24日北向资金增持24.37万股 今日播报
- 保险产品定价利率下调对行业是利空吗?|环球实时
- 观察:岳阳中考满分作文:幸好,我多走了两步 宁夏中考满分作文:我品