news 2026/7/11 17:26:21

14. UGUI屏幕适配

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
14. UGUI屏幕适配

1.基础适配

2.异形屏适配


1.基础适配

publicclassSmartCanvasAdapter:MonoBehaviour{[SerializeField]privateCanvasScalercanvasScaler;[SerializeField]privateVector2designResolution=newVector2(1080,2340);privatefloatlastScreenWidth;privatefloatlastScreenHeight;voidStart(){if(canvasScaler==null)canvasScaler=GetComponent<CanvasScaler>();AdaptCanvas();}voidUpdate(){// 检测屏幕尺寸变化(比如折叠屏展开)if(Screen.width!=lastScreenWidth||Screen.height!=lastScreenHeight){AdaptCanvas();lastScreenWidth=Screen.width;lastScreenHeight=Screen.height;}}voidAdaptCanvas(){floatdesignAspect=designResolution.x/designResolution.y;floatscreenAspect=(float)Screen.width/Screen.height;// 使用平滑过渡floatminAspect=designAspect*0.7f;floatmaxAspect=designAspect*1.5f;floatclampedAspect=Mathf.Clamp(screenAspect,minAspect,maxAspect);floatt=Mathf.InverseLerp(minAspect,maxAspect,clampedAspect);// 使用插值避免突变floattargetMatch=Mathf.Lerp(1f,0f,t);canvasScaler.matchWidthOrHeight=targetMatch;// 可选:触发布局重建(如果需要)StartCoroutine(RebuildLayoutNextFrame());}IEnumeratorRebuildLayoutNextFrame(){yieldreturnnull;// 等待一帧,让CanvasScaler先更新LayoutRebuilder.ForceRebuildLayoutImmediate(canvasScaler.GetComponent<RectTransform>());}}

2.异形屏适配

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 23:35:41

从按次计费到通用支付层:x402 V2 升级全景速览

撰文&#xff1a;Tia&#xff0c;Techub News12 月 11 日晚&#xff0c;Coinbase 孵化的开源支付协议 x402 发布 V2 版本。这是自 2025 年 5 月主网上线以来的首次大版本迭代。过去六个月&#xff0c;x402 已累计处理超 1 亿笔支付&#xff0c;主要集中在 AI 代理微交易、付费 …

作者头像 李华
网站建设 2026/7/7 9:32:37

Windows更新后RDPWrap失效?终极修复指南

Windows更新后RDPWrap失效&#xff1f;终极修复指南 【免费下载链接】rdpwrap.ini RDPWrap.ini for RDP Wrapper Library by StasM 项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini 当Windows系统更新后&#xff0c;很多用户发现RDPWrap突然失效&#xf…

作者头像 李华
网站建设 2026/7/10 7:46:28

K8S-Helm

Helm&#xff1a;Kubernetes 应用管理的利器在 Kubernetes 生态系统中&#xff0c;应用部署和管理曾是一件繁琐的事情。开发者需要手动编写大量 YAML 配置文件&#xff0c;涉及 Deployment、Service 等众多资源对象&#xff0c;且在多环境部署和版本管理时面临诸多挑战。而 Hel…

作者头像 李华
网站建设 2026/7/7 21:05:15

PySceneDetect实战宝典:高效视频场景检测与智能分割

PySceneDetect实战宝典&#xff1a;高效视频场景检测与智能分割 【免费下载链接】PySceneDetect :movie_camera: Python and OpenCV-based scene cut/transition detection program & library. 项目地址: https://gitcode.com/gh_mirrors/py/PySceneDetect PySceneD…

作者头像 李华
网站建设 2026/7/10 2:27:18

TradingAgents-CN国产大模型金融分析实战:从技术选型到业务落地

在金融科技快速发展的今天&#xff0c;如何选择适合的AI大模型进行投资分析成为行业痛点。TradingAgents-CN通过深度集成DeepSeek、通义千问、智谱AI等国产大模型&#xff0c;为中文用户提供了一套完整的智能化金融分析解决方案。 【免费下载链接】TradingAgents-CN 基于多智能…

作者头像 李华
网站建设 2026/7/9 22:15:55

BetaFlight代码解析(22)—任务调度器和系统基础架构

本文档介绍了Betaflight的实时任务调度系统和性能监控基础设施。调度器协调所有飞行控制任务、传感器处理、通信和用户界面组件的执行&#xff0c;同时严格满足关键飞行控制回路的时序要求。概述Betaflight采用基于优先级的协作式多任务调度器&#xff0c;确保关键飞行控制任务…

作者头像 李华