品牌 资讯 搭配 材料 时尚 热点 行业 首饰 玉石 行情

截图!长按保存分享!Cocos Creator-今热点

2023-03-19 23:54:09 来源:程序员客栈

一种3D截图方案


(相关资料图)

背景

参考 TRUE SPACE with Cocos 技术分享[1]中的动态生成海报的介绍,以及作者的支持。实现一个长按保存分享截图的方案。

效果

在微信浏览器中预览效果如下

环境

Cocos Creator 3.7.1

Web 浏览器

原理

原作者讲的非常清楚,只需要按照以下步骤实现即可。

3D相机生成一个RT 赋予给2D精灵

摆上一些二维码等UI

UI相机再生成一张RT

读取RT中的数据,传给 canvas

canvas 生成图片数据传给 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年版

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

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

标签:

(责任编辑:new01)

相关文章

截图!长按保存分享!Cocos Creator-今热点

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

2023-03-19 23:54:09

白俄罗斯:希望与中国在汽车制造领域开展合作

​海外网3月19日电 据俄罗斯卫星通讯社转引白俄罗斯第一电视台19日报道,白俄罗斯工业部长罗戈日尼克表示,白俄罗斯希望与中国在汽车制造领域开

2023-03-19 19:52:43

世界观察:统治者大盾打孔(统治者大盾)

​1、精华洞穴巨魔巢穴骨盾打不出4S,其最大孔数是3S 而能出4S的通用盾里(PAL专用盾不在此列!),也就只有统盾力量需求最低156,统盾又是轻盾,

2023-03-19 16:09:49

猎鹰空战修改器_鹰击长空修改器 微速讯

​1、目前修改器只适用于1 01版。2、ISO镜像安装之后,更新包升级之后就是这个版本。3、官方已经出了新的补丁,版本高于

2023-03-19 12:52:45

世界报道:中国银行宝宝存钱罐是干嘛的

​宝宝储蓄罐是中国银行推出的一种在线金融产品,具有成长储蓄和亲子记录。家长和客户可以通过手机银行为孩子实现专项储蓄。开通这

2023-03-19 09:19:54

全球简讯:萍乡新型冠状病毒肺炎疫情:3月19日萍乡疫情最新消息今天数据统计情况通报

​萍乡新型冠状病毒肺炎疫情:3月19日萍乡疫情最新消息今天数据统计情况通报,截至3月19日04时30分萍乡疫情数据统计情况

2023-03-19 05:07:16

惯性和什么有关受什么影响_惯性和什么有关-全球新视野

​1、只与质量有关常见误区:认为惯性和初始速度有关。2、注意,(1)哲学认为质量是随速度的增加而增加。3、(2)高中物

2023-03-19 04:47:53

闻过则喜知过不讳改过不惮的翻译_闻过则喜知过不讳改过不惮

​1、听到别人说自己有错应当高兴,知道自己的过失应当不隐讳,而改正自己的过错应当毫不害怕。2、出处:出自陆九渊>。3、孔子

2023-03-18 23:16:13

电影《巴林塔娜》专家研讨会举办:拓展民族电影表现手法

​电影《巴林塔娜》专家研讨会举办:拓展民族电影表现手法---电影《巴林塔娜》海报主办方供图。中新网北京3月18日电曾获第35届中国电影金鸡奖最

2023-03-18 20:00:17

2天6个大瓜!未婚秘密生子、富婆哭穷、夜会美女、去世…喜忧参半|当前信息

​这两天的瓜依然生猛,无论是娱乐圈还是网红圈,都曝出了不少精彩大瓜。贾玲被曝秘密生子,一众网友纷纷惊呼离谱 樊小慧人设被质疑造假,

2023-03-18 16:11:44

数控自动送料机_关于数控自动送料机简介 全球即时看

​1、数控自动送料机,顾名思义,就是指配合可连续循环加工物料的车床实现自动送料,是通过数字控制来保证送料精度,从而提高

2023-03-18 12:51:49

全市第二,普陀移动通信用户感知度又快又好

​普陀区科委说,上海市经信委发布的2022年上海市移动通信用户感知度测评结果显示,普陀区移动通信用户感知度得分为94 87分,位列全市第二。据介

2023-03-18 09:56:42

欧联杯1/4决赛对阵:曼联PK塞维利亚 尤文VS葡体

​北京时间3月17日20点,2022-23赛季欧联杯1 4决赛及半决赛抽签结果出炉:曼联VS塞维利亚、尤文图斯VS葡萄牙体育、勒沃库森VS圣吉罗斯、费耶诺德

2023-03-18 06:00:11

赛博朋克2077即将到来 这并不奇怪

​在最新一代游戏机上推出的赛博朋克2077可谓是一团糟——因此,原定于未来几个月发布的免费可下载内容(DLC)可能会推迟,

2023-03-18 01:12:23

【环球播资讯】北师大版四年级上册数学教案及教学反思_北师大版四年级上册数学教案及反思

​1、去百度文库,查看完整内容>内容来自用户:技术员童鞋第一单元认识更大的数单元教学目标经历收集日常生活中常见大数

2023-03-17 21:55:01

环球讯息:内蒙古警方侦破特大跨境开设赌场案 涉案金额达5.7亿余元

​3月17日,内蒙古乌兰察布市察右中旗公安局对外通报,该局成功侦破一起公安部挂牌督办的特大跨境开设赌场案件,共抓获犯罪嫌疑人44名,国内注册

2023-03-17 19:06:05

逆市而上的PTA

​今日,PTA价格剧烈波动,主力2305合约自5500元 吨一线大幅反弹,收于5700元 吨以上,较昨日结算价上涨174元 吨,基本收复前三日跌幅;从PTA不

2023-03-17 16:56:42

环球速讯:今日重庆老凤祥黄金价格查询(2023年3月17日)

​金投黄金网3月17日讯,重庆黄金价格_今日重庆老凤祥黄金价格查询 

2023-03-17 14:58:33

【南篱/早报】3.17黄金停滞,原油双针探底?_今日视点

​【南篱 早报】3 17黄金停滞,原油双针探底?,原油,十字星,现货黄金

2023-03-17 12:19:11

索斯盖特:英超缺乏可供选择的本土球员,未来这个趋势会更加明显

​据《泰晤士报》报道,索斯盖特在公布了新一期英格兰国家队大名单之后,表达了对英超缺乏英格兰可用球员的担忧。在这次的大名单中,索斯盖特将

2023-03-17 10:18:04

唯品会特卖_唯品国际和唯品自营的区别

​1、唯品国际和唯品自营的区别:唯品国际,就是唯品海淘业务,国内国外都有仓库,唯品会买手进行采购或者直接和国外的供应商签订

2023-03-17 08:10:16

恒大概念股板块3月16日跌2.4%,广汇能源领跌,主力资金净流出1.21亿元

​3月16日恒大概念股板块较上一交易日下跌2 4%,广汇能源领跌。当日上证指数报收于3226 89,下跌1 12%。深证成指报收于11237 7,下跌1 54%。恒大

2023-03-17 04:46:40

上海农商行获批投资参股杭州联合农商行占股4% 后者于近日重启上市辅导_天天看点

​3月16日,上海农商行发布公告称,该行近日收到《上海银保监局关于同意上海农村商业银行股份有限公司投资参股杭州联合农村商业银行股份有限公司

2023-03-16 23:39:54

云南工商学院50名学生前往曲靖会泽支教_世界速看料

​为积极响应国家乡村振兴战略,助力乡村教育发展,3月13日,云南工商学院50名学生前往曲靖市会泽县,开启了为期一个学期的支教活动。据了解,从

2023-03-16 20:27:38

全球观速讯丨新算法可以改善小儿结核病诊断

​结核病是全世界年轻人死亡的主要原因之一。模型研究表明,在涉及15岁以下儿童的致命病例中,超过96%的受感染儿童没

2023-03-16 18:10:03

坂本龙一警告勿忘核电站悲剧:最危险发电方式

​坂本龙一3月15日,日本音乐家坂本龙一在媒体《东京新闻》上刊文,批评日本政府处理核电站问题的错误举措,并警告人们不要忘记福岛核电站悲剧。

2023-03-16 16:11:07

长沙县黄兴镇属于哪个区_长沙县黄兴镇

​今天小编肥嘟来为大家解答以上的问题。长沙县黄兴镇属于哪个区,长沙县黄兴镇相信很多小伙伴还不知道,现在让我们一起来看看吧!1、你可以在火

2023-03-16 13:55:56

每日动态!陈梦仅获第8!国乒队内赛4大主力未夺冠,奥运席位恐再生波澜

​近日,国乒进行了一场队内比赛,其中男队基本上没有太大的悬念,有着国乒新一哥之称的樊振东成功登顶,而马龙、许昕则屈居身后,不过在女队方

2023-03-16 11:47:49

王嘉男获全国室内田径锦标赛男子跳远亚军 全球微头条

​新华社天津3月15日电(记者张泽伟)世界冠军王嘉男15日在天津举行的2023年全国室内田径锦标赛男子跳远决赛中不敌29岁的名将高兴龙,获得亚军。

2023-03-16 10:14:16

环球看点!甘蔗属于甜食吗?

​属于减肥最好不要吃甘蔗,对于想要减肥的人在饮食上就要控制对热量和糖分的吸收,不能吃太甜的食物,像甘蔗就属于太甜的食物,它的含糖量热量

2023-03-16 04:54:38