Laya的适配模式选择 📅 发布时间:2026/7/12 15:18:33 👁️ 浏览次数: 文章目录SCALE_FIXED_AUTOSCALE_SHOWALLSCALE_FULLSCALE_FIXED_HEIGHTSCALE_FIXED_WIDTHSCALE_NOSCALESCALE_EXACTFITSCALE_NOBORDERdemoSCALE_FIXED_AUTONO.1会透拉伸能解决官网解释应用保持设计比例不变全屏显示全部内容(类似showall但showall非全屏会有黑边)根据屏幕长宽比自动选择使用SCALE_FIXED_WIDTH或SCALE_FIXED_HEIGHSCALE_SHOWALLNO.2左右上下可能留空白完全设计宽高比例游戏官方应用显示全部内容按照最小比率缩放等比缩放不变形一边可能会留空白stage的宽高等于设计宽高。SCALE_FULLNo.3 不太考虑改变屏幕比例后需要刷新才跟着变界面可能会透要避免需要bgImg和界面拉伸能适配官方应用保持设计宽高不变不缩放不变形stage的宽高等于屏幕宽高。SCALE_FIXED_HEIGHT不太推荐会透官方应用保持设计高度不变宽度根据屏幕比缩放stage的高度等于设计宽度宽度根据屏幕比率大小而变化SCALE_FIXED_WIDTH不推荐会透会糊官方应用保持设计宽度不变高度根据屏幕比缩放stage的宽度等于设计高度高度根据屏幕比率大小而变化SCALE_NOSCALE不推荐可能看不全官方应用保持设计宽高不变不缩放不变形stage的宽高等于设计宽高。SCALE_EXACTFIT不推荐铺满会变形官方应用根据屏幕大小铺满全屏非等比缩放会变形stage的宽高等于设计宽高。SCALE_NOBORDER不推荐可能单边显示不全官方应用按照最大比率缩放显示宽或高方向会显示一部分等比缩放不变形stage的宽高等于设计宽高。democonstinfoLaya.Browser;if(Laya.Browser.onPC){// PC 端不强制横竖屏按完整显示处理并居中对齐Laya.stage.scaleModeLaya.Stage.SCALE_SHOWALL;Laya.stage.screenModeLaya.Stage.SCREEN_NONE;Laya.stage.alignVLaya.Stage.ALIGN_MIDDLE;Laya.stage.alignHLaya.Stage.ALIGN_CENTER;}elseif(info!nullNumber(info.width)/Number(info.height)1.42){// 1.42 表示“屏幕越宽值越大超过 1.42 就归类为宽屏布局”。// 移动端宽高比达到项目设定阈值时按“横向宽屏”方案处理// 这里的 1.42 不是通用标准比例而是项目用于区分宽屏/非宽屏的经验阈值Laya.stage.scaleModeLaya.Stage.SCALE_SHOWALL;Laya.stage.screenModeLaya.Stage.SCREEN_HORIZONTAL;Laya.stage.alignVLaya.Stage.ALIGN_MIDDLE;Laya.stage.alignHLaya.Stage.ALIGN_CENTER;}else{//(info ! null Number(info.width) / Number(info.height) 1.42){// 竖屏固定宽度 x// 移动端宽高比低于阈值时按竖屏方案处理Laya.stage.scaleModeLaya.Stage.SCALE_FIXED_AUTO;Laya.stage.screenModeLaya.Stage.SCREEN_VERTICAL;Laya.stage.alignVLaya.Stage.ALIGN_BOTTOM;Laya.stage.alignHLaya.Stage.ALIGN_CENTER;}//【顶】constinfoLaya.Browser;if(Laya.Browser.onPC){Laya.stage.scaleModeLaya.Stage.SCALE_SHOWALL;Laya.stage.screenModeLaya.Stage.SCREEN_NONE;Laya.stage.alignVLaya.Stage.ALIGN_BOTTOM;// 画布垂直居下对齐Laya.stage.alignHLaya.Stage.ALIGN_CENTER;}else{//1280/720≈1.77 ||| 16/91.77if(info!nullNumber(info.height)/Number(info.width)1.77){//此为长屏设备固定宽度Laya.stage.scaleModeLaya.Stage.SCALE_FIXED_WIDTH;}elseif(info!nullNumber(info.height)/Number(info.width)1.77){// 非长屏设备自动适配Laya.stage.scaleModeLaya.Stage.SCALE_FIXED_AUTO;}Laya.stage.screenModeLaya.Stage.SCREEN_VERTICAL;Laya.stage.alignVLaya.Stage.ALIGN_BOTTOM;Laya.stage.alignHLaya.Stage.ALIGN_CENTER;}// 自定义方式 full/** * 创建游戏场景保持比例不变形无黑边 * param designWidth 设计宽度 * param designHeight 设计高度 */functioncreateGameScene(designWidth:number,designHeight:number):void{// 获取实际屏幕尺寸constscreenWidthLaya.stage.width;constscreenHeightLaya.stage.height;// 计算设计比例和屏幕比例constdesignRatiodesignWidth/designHeight;// 720/12800.5625constscreenRatioscreenWidth/screenHeight;// 计算游戏内容容器的实际尺寸保持设计比例letgameWidth:number;letgameHeight:number;if(screenRatiodesignRatio){//宽高比// 屏幕更宽以高度为准gameHeightscreenHeight;gameWidthgameHeight*designRatio;}else{// 屏幕更高以宽度为准gameWidthscreenWidth;gameHeightgameWidth/designRatio;}// 创建游戏内容容器保持设计比例不变形constgameContainernewLaya.Sprite();gameContainer.size(gameWidth,gameHeight);// 居中显示 - 可以考虑居下左右居中显示gameContainer.pos((screenWidth-gameWidth)/2,(screenHeight-gameHeight)/2);Laya.stage.addChild(gameContainer);// 创建背景填充层填充可能的黑边区域constbgFillnewLaya.Sprite();bgFill.graphics.drawRect(0,0,screenWidth,screenHeight,#232628);Laya.stage.addChildAt(bgFill,0);// 放在最底层// 创建一个居中显示的文本consttextLabelnewLaya.Text();textLabel.textLayaAir 游戏启动成功;textLabel.fontSize32;textLabel.color#ffffff;textLabel.boldtrue;gameContainer.addChild(textLabel);// 监听屏幕尺寸变化动态调整Laya.stage.on(Laya.Event.RESIZE,null,(){constnewScreenWidthLaya.stage.width;constnewScreenHeightLaya.stage.height;constnewScreenRationewScreenWidth/newScreenHeight;letnewGameWidth:number;letnewGameHeight:number;if(newScreenRatiodesignRatio){newGameHeightnewScreenHeight;newGameWidthnewGameHeight*designRatio;}else{newGameWidthnewScreenWidth;newGameHeightnewGameWidth/designRatio;}gameContainer.size(newGameWidth,newGameHeight);gameContainer.pos((newScreenWidth-newGameWidth)/2,(newScreenHeight-newGameHeight)/2);bgFill.size(newScreenWidth,newScreenHeight);});// 可以在这里继续添加你的游戏逻辑// 例如加载资源、创建UI、初始化游戏管理器等}
终极指南:如何快速免费解码微信QQ语音文件并转换为MP3格式 终极指南:如何快速免费解码微信QQ语音文件并转换为MP3格式 【免费下载链接】silk-v3-decoder [Skype Silk Codec SDK]Decode silk v3 audio files (like wechat amr, aud files, qq slk files) and convert to other format (like mp3). Batch conversion support. … 2026/7/12 15:12:32
HBuilderX 4.64 多端发布实战:5分钟完成微信/支付宝/抖音小程序一键打包 HBuilderX 4.64 多端发布实战:5分钟完成微信/支付宝/抖音小程序一键打包当你完成了一个精心打磨的uni-app项目,下一步就是将它推向各大平台。传统的小程序发布流程往往需要反复切换不同开发者工具,手动配置各种参数,耗时又容易出错… 2026/7/12 15:10:31
Unity程序化地形生成:从数学曲面方程到Terrain Collider实战 1. 项目概述:当数学公式遇见游戏世界如果你在Unity里做过地形,大概率用过Terrain工具刷过山、挖过河。但有没有想过,那些连绵起伏的山脉、蜿蜒曲折的峡谷,其底层形态其实可以用一个数学方程来描述?这就是曲面方程的魅力… 2026/7/12 15:10:31
Devstral-Small-2-24B-Instruct-2512-bf16性能实测:bfloat16量化如何实现效率与精度双赢 Devstral-Small-2-24B-Instruct-2512-bf16性能实测:bfloat16量化如何实现效率与精度双赢 【免费下载链接】Devstral-Small-2-24B-Instruct-2512-bf16 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/Devstral-Small-2-24B-Instruct-2512-bf16 … 2026/7/12 16:48:59
EndNote X9 样式深度定制:修改Harvard等5种输出样式实现文献排序优先级 EndNote X9 样式深度定制:修改Harvard等5种输出样式实现文献排序优先级文献管理工具EndNote的核心价值之一,是能够根据不同的学术规范自动格式化参考文献。但默认样式往往无法满足复杂排序需求——比如需要将中文文献优先排列,或按特定字段组… 2026/7/12 16:46:58
华芯微特 Synwit UI Creator 上位机 V1.0 与 Keil 5.33 环境配置:3步解决 JLink V9 驱动兼容 华芯微特 Synwit UI Creator 与 Keil 5.33 环境配置:JLink V9 驱动兼容性深度解析 1. 环境配置前的关键准备 在开始配置华芯微特图形开发环境前,我们需要确保所有硬件和软件组件都满足最低要求。根据实际项目经验,以下是最关键的准备工作&am… 2026/7/12 16:46:58
别再手动发帖了!AI Agent 社交媒体自动化落地 checklist(含平台API限频应对、内容安全过滤、A/B测试埋点) 更多请点击: https://intelliparadigm.com 第一章:AI Agent 社交媒体自动化落地全景图 AI Agent 在社交媒体自动化领域的落地已从概念验证迈入规模化实践阶段。它不再仅限于简单定时发帖或关键词回复,而是通过多模态感知、任务编排、上下文记… 2026/7/12 16:44:58
【独家首发】Midjourney 6.1新增--color-profile参数深度测评:ICC配置文件注入实录,色准提升47%(附可复用的sRGB/P3双模模板) 更多请点击: https://codechina.net 第一章:Midjourney 色彩控制的演进与6.1版本战略意义 Midjourney 自 V4 起引入基础色彩提示词(如 color palette: teal, ochre, slate),到 V5 通过 --style raw 增强色调一致性&… 2026/7/12 16:44:58
AMD-Quark量化实战:如何将Kimi-K2.5转换为W4A8格式 AMD-Quark量化实战:如何将Kimi-K2.5转换为W4A8格式 【免费下载链接】Kimi-K2.5-W4A8 项目地址: https://ai.gitcode.com/hf_mirrors/amd/Kimi-K2.5-W4A8 Kimi-K2.5是一款功能强大的多模态模型,支持文本和视觉处理。通过AMD-Quark量化技术将其转换… 2026/7/12 16:42:57
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/12 0:01:13
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/12 0:01:13
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/12 0:03:14
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/12 0:01:13
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/12 0:01:13
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/12 0:03:14