背景一种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]中的动态生成海报的介绍,以及作者的支持。实现一个
“壮族三月三”是广西最热闹、最盛大的民族传统节日,广西举办了1000多场丰富多彩的活动,吸引广大游客相约
河南经济报记者孔凡哲随着科技的不断进步,社交电商正成为乡村经济新的增长点,直播带货、朋友圈带货等新模
人民网雄安4月26日电(宋烨文)4月25日晚,“城市之眼洞见未来”活动在雄安城市计算中心成功举办。随着“54
但他们的故事,他们的成就,他们的影响,将永远留在我们的记忆中,北京国安永远争第一的精神,一直回旋在北
银行业危机再现?昨夜美股开盘不久,第一共和银行盘中跌幅一度扩大至超过40%,经历至少五次停牌,股价再刷
Datawhale干货作者:太子长琴,算法工程师,Datawhale成员前言ChatGPT刚刚出来时,业内人士一致认为高质量
直播吧4月27日讯在意大利被半决赛次回合1-0击败尤文图斯后,国米总比分2-1淘汰对手晋级决赛。赛后在接受慢
直播吧4月26日讯据阿根廷记者SergioA González报道,今年夏天,梅西将再次身披纽维尔老男孩球衣,只不过这
本报讯 11岁女孩小兰与同学在玩密室逃脱闯关的过程中,被工作人员扮演的恐怖“怪兽”吓得踩空台阶摔倒
重磅!快船淘汰出局,伦纳德伤情出炉,下赛季或提前报销,威少,快船队,泰伦·卢,美国篮球,科怀·伦纳德
1、《我的未来不是梦》是张雨生演唱的一首励志歌曲,由陈家丽作词,翁孝良作曲,曲长5分13秒,这首歌曲是张
【 老两口弄丢13 8万痛哭 】近日,老两口弄丢13 8万痛哭的话题,引发关注!
【新媒体走基层看检察】广西北海:公益诉讼检察为生态文明建设再助力
快科技4月26日消息,五一小长假马上就要到了,华为官方也提前公布了一批HarmonyOS3升级进展,华为P20 Mate1
4月25日,笔者从宁夏回族自治区市场监管厅获悉,今年知识产权宣传周期间,宁夏回族自治区市场监管厅(知识
布鲁诺-费尔南德斯今天出现在卡林顿,没有穿戴保护靴如果布鲁诺踢不了热刺,这将是28岁的他职业生涯第一次
北京商报讯(记者翟枫瑞)4月26日,河北衡水老白干酒业股份有限公司(以下简称“老白干酒”)发布2022年年度报
黑人选手,也是凭本事赚钱。正解局出品今年三四月,国内马拉松运动又热闹起来了。仅4月15日、16日两天,国
荔园、红岭新校学区已定,福田积分入学办法拟调整!
中国经济网北京4月26日讯游族网络(002174 SZ)今日股价收报20 60元,涨幅4 57%。龙虎榜数据显示,买入游族网
为认真贯彻落实全市法院“1145”总体工作规划,扎实推进品牌创新工作,全力以赴推动法院高质量发展,近日,
破位反抽注意两种模式今天大盘指数低开震荡,一早指数小幅低开后,沪指上午一次冲高回落,下午又一次冲高回
招聘会开进汉阳社区让居民在“家门口”就业---湖北日报讯(记者朱惠、通讯员夏汉姣)招聘会开进社区里,居
欢迎观看本篇文章,小升来为大家解答以上问题。土豆烧鸡块方法,土豆烧鸡块的做法介绍很多人还不知道,现在
里面的特效简直就是游戏级别的,非常的帅气,战斗也很炫酷,然后也有爆点,那就两位闪电侠登场、女版的超人
为进一步提升辖区火灾防控水平,全力预防和减少火灾事故发生,确保人民群众生命财产安全,五一前夕,茶淀街
【注册会计师考试经济法练习题及答案解析】相关推荐文章:注册会计师考试税法题目及答案详解注册会计师《税
全国首次!长江江豚这样“回家”了
山西证券股份有限公司骆志伟,李通近期对内蒙一机进行研究并发布了研究报告《外贸市场需求充足,公司产品技
Copyright © 2015-2022 服装头条网版权所有 备案号:沪ICP备2022005074号-20 联系邮箱:58 55 97 3@qq.com