截图!长按保存分享!Cocos Creator|焦点速递
背景一种3D截图方案
参考 TRUE SPACE with Cocos 技术分享[1]中的动态生成海报的介绍,以及作者的支持。实现一个长按保存分享截图的方案。
效果在微信浏览器中预览效果如下
(相关资料图)
环境Cocos Creator 3.7.1Web 浏览器原理原作者讲的非常清楚,只需要按照以下步骤实现即可。
3D相机生成一个RT 赋予给2D精灵摆上一些二维码等UIUI相机再生成一张RT读取RT中的数据,传给 canvascanvas 生成图片数据传给 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年版
点击“阅读原文”查看精选导航
“点赞“ ”在看”鼓励一下▼
-
截图!长按保存分享!Cocos Creator|焦点速递
程序员客栈 2023-04-15
-
lei拼音声调怎么标_拼音声调怎么标
互联网 2023-04-15
-
世界热门:电脑看图片不显示内存不足怎么办(电脑无法显示图片说内存不足怎么办)
聚焦网 2023-04-15
-
全球时讯:上海车展前瞻:BBA拿出电动化扛鼎之作 合资、自主以插电混动车型正面对决
贝果财经 2023-04-15
-
今日最新!用醋洗脸的方法_如何用醋洗脸
互联网 2023-04-14
-
菜鸟将在北京开通半日达配送
北京商报网 2023-04-14
-
爱护花草树木的标语和图画(爱护花草树木的标语)|环球看点
互联网 2023-04-14
-
深解读|电动车乱象如何整治? 世界速看料
央广网 2023-04-14
-
成都随迁子女转学政策2023_每日热门
本地宝 2023-04-14
-
凯旋召回部分BONNEVILLE T120摩托车
搜狐汽车 2023-04-14
-
截图!长按保存分享!Cocos Creator|焦点速递
程序员客栈 2023-04-15
-
lei拼音声调怎么标_拼音声调怎么标
互联网 2023-04-15
-
世界热门:电脑看图片不显示内存不足怎么办(电脑无法显示图片说内存不足怎么办)
聚焦网 2023-04-15
-
全球时讯:上海车展前瞻:BBA拿出电动化扛鼎之作 合资、自主以插电混动车型正面对决
贝果财经 2023-04-15
-
今日最新!用醋洗脸的方法_如何用醋洗脸
互联网 2023-04-14
-
菜鸟将在北京开通半日达配送
北京商报网 2023-04-14
-
爱护花草树木的标语和图画(爱护花草树木的标语)|环球看点
互联网 2023-04-14
-
深解读|电动车乱象如何整治? 世界速看料
央广网 2023-04-14
-
成都随迁子女转学政策2023_每日热门
本地宝 2023-04-14
-
凯旋召回部分BONNEVILLE T120摩托车
搜狐汽车 2023-04-14
-
空姐飞机上推销商品长达40分钟,乘客很无奈!航司回应 前沿热点
光明网 2023-04-14
-
阿尔巴尼亚出口啥产品 阿尔巴尼亚产业 阿尔巴尼亚关税起征点_动态焦点
环球旅程网 2023-04-14
-
婴儿呛奶急需送医,下班高峰期警车开道送达
现代快报 2023-04-14
-
妇幼保健院24小时电话_南京市妇幼保健院电话|环球速看
互联网 2023-04-14
-
定投指数基金哪支好_定投指数基金哪个好-世界热讯
互联网 2023-04-14
-
吴孟达离世2年,周星驰承认后悔没亲口跟他说这句话! 快讯
哔哩哔哩 2023-04-14
-
首季净利增两倍!北方华创一季度业绩强劲增长,股价大涨超7%
第一财经资讯 2023-04-14
-
五角大楼"泄密门"嫌犯被捕瞬间:FBI逼近时他正露台安静读书
海外网 2023-04-14
-
全国载人航天环控生保技术大会召开
人民日报 2023-04-14
-
来了!河北省农产品加工业发展大会
燕赵都市报纵览新闻 2023-04-14
-
优酷回应非会员遇3000多秒广告:系统背锅_全球聚焦
中关村在线 2023-04-14
-
最新资讯:第五届cctv舞蹈大赛技巧_第五届cctv舞蹈大赛
互联网 2023-04-14
-
重庆市人民大礼堂地址、开放时间、门票_天天亮点
本地宝 2023-04-13
-
阳新:巧抓春雨好时机 苗木施肥“补营养”|天天热闻
湖北日报客户端 2023-04-13
-
快看点丨储能市场需求逐步加大 水发兴业能源“清洁能源+储能”模式发力
证券日报网 2023-04-13
-
特朗普起诉前私人律师、“封口费”案关键证人,索赔超5亿美元
环球时报 2023-04-13
-
【全球速看料】马伊琍新剧开播引争议,喊比她大两岁的叫婶“离了大谱”
率真大华说电影 2023-04-13
-
天天动态:交通安全征文400字_交通征文400字
互联网 2023-04-13
-
每日热点:读书:见专业,见思想,见自我
中国教师报 2023-04-13
-
热推荐:《下一球成名》修改档期!影片再度延期上映
1905电影网 2023-04-13