截图!长按保存分享!Cocos Creator_快资讯

来源:程序员客栈时间:2023-04-15 14:54:41

一种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_快资讯

截图!长按保存分享!Cocos Creator_快资讯

一种3D截图方案背景参考TRUESPACEwithCocos技术分享[1]中的动态生成海报的介绍,以及作者的支持。实现一个长按保存分享截图的方案。效果更多

2023-04-15 14:54:41
斯诺克|世锦赛奥沙利文夺冠赔率居榜首 丁俊晖状态不错被外界看好-新资讯

斯诺克|世锦赛奥沙利文夺冠赔率居榜首 丁俊晖状

2023斯诺克世锦赛北京时间4月15日下午就将在英国谢菲尔德的克鲁斯堡剧院拉开帷幕。截至目前为止,七届世锦赛冠军得主、排更多

2023-04-15 13:52:00
全球今日报丨《你好,星期六》王濛展现冠军反应力 檀健次竟是体能担当

全球今日报丨《你好,星期六》王濛展现冠军反应力

今(15日)晚7:30,“好六运动会”火热来袭!王濛、周洋、范世錡、刘雨昕、姚琛前来助阵,组成“运动者联盟”与孟佳、檀健更多

2023-04-15 13:02:17
2023北京书市开幕 “北京文化书系”全套首发_即时

2023北京书市开幕 “北京文化书系”全套首发_即时

4月14日,2023北京书市在朝阳公园开幕。北京出版集团以“品读北京·悦享书香”为主题,集中展示展销1500余种精品出版更多

2023-04-15 12:51:51
科拜尔2022年净利2924.02万同比增长21.73%销售规模增加

科拜尔2022年净利2924.02万同比增长21.73%销售规模增加

挖贝网4月15日,科拜尔(873664)近日发布2022年年度报告,报告期内公司实现营业收入306,656,318 73元,同比增长17 20%;归属于挂牌公司股东的更多

2023-04-15 12:53:37
五一假期首日火车票开售 “烧烤专列”、“熊猫专列”等特色线路受关注

五一假期首日火车票开售 “烧烤专列”、“熊猫专

4月15日,五一假期首日(4月29日)火车票开售。在去哪儿平台上,北京-武汉、北京-长沙等线路多趟车次已售罄,近期开通的更多

2023-04-15 12:07:50
环球快报:华彬快速消费品集团总裁彭滨:芙丝与战马扎根中国市场 “出海”成发展关键词

环球快报:华彬快速消费品集团总裁彭滨:芙丝与战

华彬集团也在本次消博会上参展,旗下运营的国际品牌VOSS、唯他可可及中国功能饮料品牌代表战马能量型维生素饮料等亮相4号展更多

2023-04-15 11:57:34
NBA|东部季后赛最后门票归热火 对阵形势全部出炉-焦点热文

NBA|东部季后赛最后门票归热火 对阵形势全部出

15日上午,NBA东部季后赛附加赛全部结束,热火在主场以102比91击败公牛,拿到了季后赛东部最后一张门票,他们将在首轮更多

2023-04-15 11:54:40
+ 点击查看更多精彩

精彩放送

太原12个楼盘发放18张预售证 仅有3个项目为纯新盘
    今年9月,太原市房产管理局给省城12个楼盘正式发放了18张预售证。...
截至9月底 杭州共完成不动产登记988.72万件
    房产证、土地证,两证合一了!2016年6月1日,在市民之家举行的全市...
各地继续密集发布楼市宽松政策 多地支持农民进城购房
    近期以来,各地继续密集发布楼市宽松政策,其中包括长春、遵义多...
宁波:关于“带押过户”新模式的7个典型问题权威解答来了
    日前,宁波市不动产登记中心试点二手房带押过户新模式。新模式下...
多地政府大手笔回购商品房 苏州拟对10个板块回购约1万套新房
    越来越多的地方政府出手回购当地商品房。近日,一份苏州市政府部...
市场降温豪宅不冷 媒体:北上广深掀起“豪宅热”
    尽管整体市场低迷,但豪宅板块比较稳定。争取成交,忙完这一次,...
    最新见闻