背景一种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年版
点击“阅读原文”查看精选导航
“点赞“ ”在看”鼓励一下▼
标签:
精彩推荐
一种3D截图方案背景参考TRUESPACEwithCocos技术分享[1]中的动态生成海报的介绍,以及作者的支持。实现一个
正式通车!近日内江两个交通建设项目接连传来喜讯隆昌:万隆路北延线正式通车4月28日上午10点,万隆路北延
一、拘役事业单位开除吗拘役事业单位开除,《行政机关公务员处分条例》第十七条规定:“行政机关公务员...
“五一”小长假的第二天河南的天气主打万里晴空4月也在郁郁葱葱的春日中完美谢幕五一当天暖如初夏阳光加...
1、大仲马的风格是高度的理想主义,浪漫主义小仲马更注重写实。2、2、小仲马是大仲马的儿子。3、亚历山...
1、待你长发及腰,我已韶华不复。2、岁月渐老终难忘,粉黛红颜姣好。3、犹记当初年少时,目传情,眉含意。4
(浦帆)记者从铁路上海站获悉,上海直属站29日发送旅客65 09万人次,共完成到发旅客114 45万人次,单日发送
1、可能是细菌性结膜炎,如果是结膜炎眼睛就会充血发红、眼睛发痒,老想用手揉。2、那就要看是病毒性的结膜
有很多乡村狂想曲网友不知道乡村狂想曲明珠剧情怎么触发,以下将由第一资讯网小编编辑的《乡村狂想曲明珠剧
1、宠物行业与其他行业相比利润还是非常高的,宠物店的利润在70-80%左右,宠物店的高利润主要是来自于技术
李楠新职务曝光:开办篮球学校任名誉校长被禁赛13天火速再就业,李根,学校,名誉,cba,男子篮球,国际篮球赛事,
共建东西协作种养示范基地---在甘肃陇南成县二郎乡的田野上,一幅春耕生产图正徐徐展开检修农机、翻耕破土
1、在手机上打开微博客户端,进入微博客户端主界面,选择“我”选项。2、在微博中“我”的界面上,选择...
可是,对于那些持有新能源股的股民,他们中的不少人却感受到与大盘逆行的“艰难”。可是,与个股较弱的...
2023上海车展,现代高端品牌旗舰车型全新捷尼赛思G90完成国内首发并开启预售,预售价区间71 80-86 80万元。
中国驻日本大使吴江浩28日在日本记者俱乐部发表演讲时指出,日方应该从根子上树立正确对华认知,把握战
六月份,天蝎座的朋友们又可以迎接新的运势了。下面就让我们一起来看看六月份天蝎座的爱情、事业、财富和健
1、是真的,我是那里的老会员了,我在那买了个年的套餐,就是每节课 元的那个套餐,性介比还是很高的,每天
1、河南工商学校怎么样郑州工商学院属于二本。属于本科高校,不是专科学校。郑州工商学院(ZhengzhouTechno
文 图半岛全媒体记者吴鲲4月28日,由德州市人民政府、中国钓鱼运动协会(下简称CAA)和快手联合主办的“202
资讯News
06-20
11-03
11-03
11-03
11-03
11-03
11-03
11-03
11-03
11-03
11-03
聚焦Policy
当好农民工的“护薪人” 近日,罗某等7名农民工在收到被拖欠的工资后,纷纷打电话向江西省南昌市...
“通讯录里所有人都知道我欠钱了” □ 本报记者 韩丹东 □ 本报见习记者 张守坤 ...
大连宝马车撞人案肇事司机被判死刑 本报讯 记者韩宇 10月29日,辽宁省大连市中级人民法院一审...
医院财务迷上网络赌博输光5000万元公款 □ 本报记者 马维博 □ 本报通讯员 汪宇堂 曹...
辊环车削 雕琢毫厘(工匠绝活) 【绝活看点】 23年来,雷虎始终扎根一线,改进钢材轧制工艺...
交警严查超标电动自行车挪用“白牌” 截至昨晚6时,处罚电动自行车违法行为共计6585笔;下一步将...
明起寒潮来袭 北方气温普降10℃以上 中央气象台预计,本周日北京平原地区最低气温降至-4℃左右...
多种蔬菜价格降幅达五成 包括菠菜、蒿子秆等 预计本月中旬蔬菜恢复供需平衡 本报讯(记者...
北京周日最低气温或达-4℃ 本报讯(记者 赵婷婷)北京青年报记者昨天从中央气象台获悉,新一股...
昌平一家四口确诊新冠肺炎 天通北苑第二社区升级为中风险地区 朝阳两涉疫校区及16所学校停课 ...