实时

您的位置:首页>产品 >

世界热文:截图!长按保存分享!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年版

点击“阅读原文”查看精选导航

“点赞“ ”在看”鼓励一下▼

关键词:

推荐阅读
一种3D截图方案背景参考TRUESPACEwithCocos技术分享[1]中的动态生成海报的介绍,以及作者的支持。实现一个

2023-04-27 19:06:30

“粉红骑行”5月回归长三角!

2023-04-27 18:15:38

1、AFP的中文名字叫甲胎蛋白,是一种肿瘤标志物。2、正常情况下参考值小于25ug L,但由于每个医院的仪器和

2023-04-27 17:58:31

近日,新能源汽车热管理解决方案提供商适宇科技宣布完成近千万人民币Pre-A轮融资,由博世旗下市场化投资平

2023-04-27 17:22:44

欢迎观看本篇文章,小勉来为大家解答以上问题。描写神态的词语,哪些词语是描写神态的很多人还不知道,现在

2023-04-27 16:59:35

杭州银行(600926)4月27日晚间披露一季报,一季度实现营业收入94 31亿元,同比增长7 55%;净利润42 39亿元,

2023-04-27 16:44:15

格隆汇4月27日丨容百科技688005688005SH于2023年4月25日接受现场参观有投资者问公司新业务钠电正极材料和磷

2023-04-27 16:15:41

项目建设是经济社会发展的动力,连日来,华亭市各大重点项目开足马力,抢抓施工黄金期,神峪河铁路装车站项

2023-04-27 15:52:49

2023年五一期间有5天长假,来长沙游玩不紧不慢时间刚刚好,那长沙有哪些好玩的,好吃的推荐,游玩时有哪些

2023-04-27 15:20:27

金投白银网提供5盎司生肖彩银币价格(2023年04月27日),5盎司​生肖彩银纪念币最新消息(2023年04月27日)。

2023-04-27 14:52:01

充分释放移动游戏性能,带来更持久的续航SnapdragonEliteGaming一直致力于为每位用户打造卓越游戏体验。骁

2023-04-27 14:10:59

4月27日13点58分,手游概念板块指数报1158 144点,跌幅达4%,成交459 94亿元,换手率4 56%。板块个股中,跌

2023-04-27 14:00:13

母婴行业再升温,揭开孩子王穿越周期的神秘面纱,育儿,孕产,零售,孩子王,全渠道,母婴行业

2023-04-27 13:20:22

央视网消息:随着气温稳步回升,河北省张家口市康巴诺尔国家湿地公园内的冰雪逐渐消融,大量候鸟迁徙归来。

2023-04-27 12:31:38

报告期初和报告期末,发行人合并报表范围内公司有息债务余额分别为167 83亿元和180 48亿元,报告期内有息债

2023-04-27 12:14:14

“国米同意在下个赛季以同样的700万英镑租借费和每周165,000英镑的工资留住卢卡库,这大约是他们本赛季支付

2023-04-27 11:34:36

  自3月15日起,西安市三级公立医疗机构全流程单颗常规种植牙医疗服务价格调控最高限价为4171元;二级及

2023-04-27 11:05:01

该债券简称“19泰达02”,代码155451,发行金额为17亿元,期限5年,票面利率为5 15%,回售登记期为2023年5

2023-04-27 10:34:52

本报北京4月26日电(记者赵成)中央纪委国家监委网站26日公布全国查处违反中央八项规定精神问题情况月报数

2023-04-27 10:16:48

1、现在一般的话就三千五左右吧,每个驾校的都不一样,具体的还是要问驾校那边,另外驾校报名费是包括有体

2023-04-27 10:03:19