截图!长按保存分享!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 全球播资讯
一种3D截图方案背景参考TRUESPACEwithCocos技术分享[1]中的动态生成海报的介绍,以及作者的支持。实现一个
世界速讯:北京挂牌4宗预申请涉宅用地,起始价86.45亿元
4月23日,北京市规划和自然资源委员会挂牌4宗预申请涉宅用地,4宗地块起始价86 45亿元。按照地块出让要求,
“家长看了安心!”成都五幼家园共育,为“膳”护航-天天速讯
为了让孩子们每顿吃饱、吃得健康,同时让家长更了解幼儿在园的生活饮食情况和膳食营养,增强幼儿园食堂安全
深圳机场:正研究推进免税点位优化 将优质商业点位转变为免税店 焦点精选
从2月、3月,深圳机场进境免税店销售数据来看,随着国际客流的逐步恢复,免税店经营形势逐步向好,3月份销
【天天速看料】英媒:美国银行业“爆雷” 美议员“精准”抛股票
英媒:美国银行业“爆雷”美议员“精准”抛股票---近期,美国银行接连关闭,引发美欧银行业与股市动荡,许
当前消息!滕哈赫:能在足总杯决赛击败曼城,一月份德比是本赛季最完美比赛
在英格兰足总杯半决赛点球大战击败布莱顿后,曼联主帅滕哈赫在接受BBC和MUTV采访时,谈到了本场比赛的一些
焦点快播:“球”动童心,“足”够精彩 ——彭山区幼儿园亲子趣味运动会
万物随春醒,运动正当时。为响应国家提出“足球要从娃娃抓起”的号召,打造足球特色校园;培养幼儿对足球的
每日热文:国际锐评丨世界地球日太平洋不该成为日本排污的垃圾场
国际锐评丨世界地球日太平洋不该成为日本排污的垃圾场,主流媒体,山西门户。山西新闻网是经国务院新闻办审核
奥拓/木林森/华星/聚飞/国星等企业获得第二十四届中国专利奖
点击上方蓝字关注我们现代企业的竞争本质上是知识产权的竞争,而专利是知识产权最重要的载体之一。中国专利
中国载人航天工程总设计师周建平获“钱学森最高成就奖”
4月24日,2023“中国航天日”主场活动启动仪式上,2022年度中国航天基金会奖揭晓。中国工程院院士、中国载
内蒙古电力集团公司召开现代供应链平台建设工程第一次技术联络会_全球即时看
2023年4月19日,内蒙古电力集团公司召开现代供应链平台建设工程第一次技术联络会。公司党委委员、总会计师
【世界热闻】探索跨界河道协同治理 嘉湖两镇共绘“生态画卷”
随着天气转暖,在德清县禹越镇与桐乡市洲泉镇两地水域交界点位,存在水葫芦泛滥及养殖尾水偷排、直排的隐患
三星Galaxy Z Flip 5手机前摄不变,预计7月发布
三星将在未来几个月内推出两款新的可折叠手机,GalaxyZFold5和GalaxyZFlip5,以及新平板电脑、智能手表和耳
中金:政策红利支持低估值国企修复 可能带来中期投资机遇
中金公司研报指出,低估值国企表现较好,估值仍有继续修复的空间。当前国企 央企PB估值为1 16x和1 0x,与非
“有难”同当?这对夫妻竟“结伴”进拘留所……_天天百事通
民警在检查过程中发现陈某出示的机动车驾驶证没有按时审验,已经被依法注销,失去了驾车资格,属于无证驾驶
男子同朋友和女友穷游上海,因手头拮据5次偷窃路边早餐车 全球速读
男子李某某与好友徐某某及女友周某某(未达量刑,已行政处罚)结伴至上海市青浦区游玩,过程中因手头拮