尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
HarmonyOS应用开发实战:猫猫大作战-Stack 叠层布局实现全屏覆盖遮罩、暂停/恢复交互控制
前言在游戏应用中暂停遮罩是常见的交互模式——玩家点击暂停按钮时游戏画面被半透明遮罩覆盖并显示暂停菜单。HarmonyOS 的Stack组件天然适合实现这种叠层覆盖效果。本文以「猫猫大作战」的暂停遮罩为锚点讲解 Stack 叠层布局实现全屏覆盖遮罩、暂停/恢复交互控制。提示本系列不讲 ArkTS 基础语法与环境搭建假设你已跟完第 1–92 篇。本篇是阶段三第 93 篇。一、Stack 叠层实现遮罩1.1 暂停遮罩Entry Component struct Index { State gameState: GameState GameState.IDLE; build() { Stack() { // 底层游戏面板 this.GameView() // 叠层暂停遮罩条件渲染 if (this.gameState GameState.PAUSED) { this.PauseOverlay() } } .width(100%) .height(100%) } Builder PauseOverlay() { Column() { // 半透明背景 Column() { Text(⏸ 游戏暂停) .fontSize(28).fontColor(#FFF).fontWeight(FontWeight.Bold) Button(继续游戏) .width(200).height(48).backgroundColor(#2ECC71) .onClick(() { this.gameState GameState.PLAYING }) Button(返回主菜单) .width(200).height(48).backgroundColor(#95A5A6).margin({ top: 12 }) .onClick(() { this.gameState GameState.IDLE }) } } .width(100%).height(100%) .backgroundColor(rgba(0,0,0,0.6)) // 半透明遮罩 } }二、总结Stack 组件实现全屏覆盖遮罩的核心是使用 if/else 条件渲染叠层组件配合半透明背景色实现遮罩效果。核心要点Stack 叠层布局覆盖层通过条件渲染控制显隐半透明背景rgba(0,0,0,0.6)实现遮罩效果暂停遮罩覆盖游戏画面阻止底层交互下一篇预告第 94 篇将深入 AlertDialog——确认对话框的使用与自定义。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源Stack 组件参考开源鸿蒙跨平台社区第 92 篇DotIndicator第 94 篇AlertDialog
RELATED

相关推荐

04-模型与Provider-300+模型自由切换

04-模型与Provider-300+模型自由切换

04 模型与Provider——300+模型自由切换 开场场景:一个任务,需要不同的脑子 上午写代码时,你需要逻辑严谨、代码生成质量高的模型;下午写文档时,你需要文字优美、表达清晰流畅的模型;通宵调试时,你希望有一个快的模型能快速反馈;做安全审计时,你可能需要用本地部署…

📅 2026/8/24 14:56:00
扒开 HTTP/1.1 的底裤:报文结构、状态码与连接管理一次讲透

扒开 HTTP/1.1 的底裤:报文结构、状态码与连接管理一次讲透

扒开 HTTP/1.1 的底裤:报文结构、状态码与连接管理一次讲透实验环境:远程服务器 Ubuntu 24.04、nginx 1.24.0、curl 8.5.0、tcpdump 4.99.4 服务器公网 IP:120.46.193.105(下文中 127.0.0.1 为服务器本机回环) 所有 cu…

📅 2026/8/24 14:56:00
PE 与 PDB 的调试身份匹配

PE 与 PDB 的调试身份匹配

PE 与 PDB 的调试身份匹配 具体实现可见于KswordARK项目,开源地址:https://github.com/KSwordDEV/KSword/ 目标与四步流程 要想从指定 PE 文件中取得可核验的 PDB 调试身份,分为四步: 以只读方式取得完整且长度受限的 PE 文件…

📅 2026/9/9 0:09:51
MORE NEWS

更多资讯

📰

小智桌面整理工具使用指南:从下载安装到高效配置全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

基于智能合约的去中心化抽奖:随机数与加密算法实践

简介:这是一份面向计算机相关专业毕业生的区块链方向完整毕业设计项目,主题为基于区块链的去中心化抽奖平台。项目源码已经过本地编译并正常运行,评审得分在95分以上,难度适中,兼顾智能合约编写、去中心化应用交互与区…

📰

浏览器扫码实战:getUserMedia + jsQR从零实现自定义扫一扫

简介:基于HTML5与JavaScript的浏览器端二维码扫描实现方案,面向前端开发人员、移动端H5项目团队以及需要快速集成扫码能力的内部系统,解决网页直接调用摄像头、自定义扫码界面并识别二维码的常见需求。压缩包仅有45KB大小,共3个文…

📰

基于MLP的虚假新闻检测:从TF-IDF特征到Keras模型实现

简介:基于Python多层感知器(MLP)打造的虚假新闻检测器,是一份完整的课程设计资源。项目面向机器学习与自然语言处理入门者,系统演示了从新闻文本清洗、分词、TF-IDF向量化,到MLP模型构建、训练、评估与调优…

📰

OpenMetadata AutoPilot 应用配置指南:`AutoPilotAppConfig` 字段说明与底层实现

OpenMetadata AutoPilot 应用配置指南:AutoPilotAppConfig 字段说明与底层实现 【免费下载链接】OpenMetadata The Open Context Layer for Data and AI , OpenMetadata is the open platform for building trusted data context and business semantics for humans…

📰

LLM Wiki:构建可溯源、可审计的企业级智能知识系统

1. 这不是普通Wiki,是用大语言模型重新定义知识管理的底层实践“llm_wiki”这四个字母组合乍看像一个项目代号,但背后藏着一场静默却深刻的范式迁移——它不是把Wiki做成网页版文档库,而是让Wiki本身具备理解、推理、生成与主动服务的能力。我…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬