HarmonyOS应用开发实战:猫猫大作战-碰撞检测与重力下落

发布时间:2026/7/29 16:19:15

HarmonyOS应用开发实战:猫猫大作战-碰撞检测与重力下落
前言在「猫猫大作战」中猫咪从棋盘顶部落下碰到已停落的猫咪或棋盘底部时停止。碰撞检测决定了猫咪的下落路径和最终位置是物理模拟的核心。一、重力下落private readonly GRAVITY_SPEED 1; // 每帧下落 1 行 updateCatPosition(cat: Cat): void { if (!cat.falling) return; const targetY this.findLandingY(cat.x, cat.y); if (cat.y targetY) { cat.y this.GRAVITY_SPEED; // 下落 } else { cat.falling false; // 着陆 } }二、碰撞检测算法private findLandingY(x: number, startY: number): number { // 从 startY 开始向下查找第一个空位 for (let y startY; y GameConfig.BOARD_HEIGHT; y) { if (this.board[y][x] ! null) { return y - 1; // 被挡住停在上一行 } } return GameConfig.BOARD_HEIGHT - 1; // 到底部 } // 水平碰撞合并检测 private findSameLevelNeighbors(x: number, y: number, level: CatLevel): { x: number; y: number }[] { const neighbors: { x: number; y: number }[] []; const directions [[-1,0], [1,0], [0,-1], [0,1]]; // 上下左右 for (const [dx, dy] of directions) { const nx x dx; const ny y dy; if (nx 0 nx 5 ny 0 ny 8) { const cat this.board[ny][nx]; if (cat cat.level level) { neighbors.push({ x: nx, y: ny }); } } } return neighbors; }三、配置参数参数值说明GRAVITY_SPEED1每 100ms 下落 1 行BOARD_WIDTH5棋盘宽度列BOARD_HEIGHT8棋盘高度行CELL_SIZE60vp每格像素大小UPDATE_INTERVAL100ms物理更新周期四、四种碰撞场景场景检测结果行为底部空y HEIGHT-1停在底部下方有猫board[y1][x] ! null停在当前行左右同级邻居 level 相同触发合并已在行内board[y][x] ! null游戏结束五、优化建议从下往上扫描碰撞检测从下往上更快缓存落点同一列多次计算落点时缓存结果只更新移动中的猫咪已着陆的猫跳过物理计算总结碰撞检测通过从当前位置向下查找空位确定猫咪的最终着陆位置。核心要点findLandingY查找落点、GRAVITY_SPEED1逐行下落、 四方向邻居检测合并、 着陆后fallingfalse。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源GameEngine 源码第 121 篇gravity第 124 篇forEach update第 125 篇merge detect

相关新闻

海外求职天天收拒信心态崩了?用数据化投递看板打破焦虑「蒸汽求职分享」

海外求职天天收拒信心态崩了?用数据化投递看板打破焦虑「蒸汽求职分享」

2026/7/29 16:19:15

在海外或海归求职的拉锯战中,很多留学生都经历过这样的“破防时刻”:每天早上睁开眼,第一件事就是战战兢兢地翻看手机邮箱。看到弹出一堆以 “Thank you for your interest, but unfortunately...”(非常感谢你的关注,…

海外求职穿什么去面试?用 Business Casual 穿搭原则不出错「蒸汽求职分享」

海外求职穿什么去面试?用 Business Casual 穿搭原则不出错「蒸汽求职分享」

2026/7/29 16:19:15

收到海外公司或外企的现场(Onsite)面试邀请,许多留学生同学在兴奋之余,站在衣柜前会立刻陷入极度的穿衣焦虑:穿全身正装,显得过于僵硬:穿上一整套黑西装、打上紧绷的领带,结果一进门…

内卷三年终破局!全自研AIGC系统永久免费,六大功能打包送

内卷三年终破局!全自研AIGC系统永久免费,六大功能打包送

2026/7/29 16:19:15

从2023年AI风口兴起至今,国内AIGC行业走过整整三年。本该是技术迭代、创新爆发的赛道,却慢慢沦为换皮内卷的重灾区。对接海外API、改改UI界面、微调配色就上架售卖,同款功能被反复包装,内核毫无自研突破,价格却一路水涨…

5步彻底清理R3nzSkin换肤工具:英雄联盟皮肤修改器完全清除指南

5步彻底清理R3nzSkin换肤工具:英雄联盟皮肤修改器完全清除指南

2026/7/29 17:19:17

5步彻底清理R3nzSkin换肤工具:英雄联盟皮肤修改器完全清除指南 【免费下载链接】R3nzSkin Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3n/R3nzSkin R3nzSkin是一款广受欢迎的英雄联盟换肤工具,采用先进…

【企业级提示词安全白皮书】:基于NIST AI RMF 1.1标准的12项合规检查清单(附自动审计脚本)

【企业级提示词安全白皮书】:基于NIST AI RMF 1.1标准的12项合规检查清单(附自动审计脚本)

2026/7/29 17:19:17

更多请点击: https://kaifayun.com 第一章:提示词安全治理的合规基线与框架定位 提示词安全治理并非孤立的技术实践,而是融合法律合规、行业监管与工程落地的系统性工程。其核心在于锚定“合规基线”——即组织在开展大模型应用前必须满足的…

推荐系统衰减预警机制缺失?,2024年87%平台未公开的CTR骤降归因与重建方案

推荐系统衰减预警机制缺失?,2024年87%平台未公开的CTR骤降归因与重建方案

2026/7/29 17:19:17

更多请点击: https://intelliparadigm.com 第一章:推荐系统衰减预警机制缺失?,2024年87%平台未公开的CTR骤降归因与重建方案 当首页推荐位CTR在24小时内从5.3%断崖式跌至1.7%,多数平台仍在依赖人工巡检日志——这暴露…

揭秘DeepPCB:1500对高质量图像数据集,开启智能电路板缺陷检测新时代

揭秘DeepPCB:1500对高质量图像数据集,开启智能电路板缺陷检测新时代

2026/7/29 17:19:17

揭秘DeepPCB:1500对高质量图像数据集,开启智能电路板缺陷检测新时代 【免费下载链接】DeepPCB A PCB defect dataset. 项目地址: https://gitcode.com/gh_mirrors/de/DeepPCB 想象一下,当你手中的智能手机突然黑屏,或者昂贵…

9.mysql 基础之数据库和表创建和修改(DDL)

9.mysql 基础之数据库和表创建和修改(DDL)

2026/7/29 17:19:17

#创建数据库 方式一:create database demo 方式二:create database if not exists demo character set utf8 #查看所有数据库信息 show databases #查看新创建数据库信息 show create database demo #切换数据库 use demo #查看库下所有表 sh…

北京创客嘉年华:与DFRobot深度面基,解锁开源硬件实战新体验

北京创客嘉年华:与DFRobot深度面基,解锁开源硬件实战新体验

2026/7/29 17:09:17

1. 项目概述:一场不容错过的创客盛会 如果你是一位创客、教育工作者、硬件开发者,或者仅仅是对开源硬件、机器人、STEAM教育充满好奇的爱好者,那么“北京创客嘉年华”这个名字对你来说一定不陌生。而这次,它带来了一个更让人兴奋的…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/28 13:30:18

目标:电脑作为RTSP 服务端,循环推送 H264/H265 视频流; RDK X5 通过 rtsp2display 拉流预览,完全不需要在开发板编译 live555。 提供两套成熟方案: ✅ 方案 A:FFmpeg(最简单,优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/7/28 16:04:36

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/7/28 16:04:35

说实话,提到PDF拆分再压缩,我真是被折腾得够呛。 上个月公司年度合同归档,一份300多页的PDF总合同,需要按年份拆分成三个独立文件,再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单?先找个海…

AI会议纪要怎么做?会议录音转文字加自动整理,三个月实测流程

AI会议纪要怎么做?会议录音转文字加自动整理,三个月实测流程

2026/7/29 0:08:23

打工人总是跑不掉要写会议纪要。 我在一家互联网公司,一周至少八场会:产品评审、数据复盘、项目同步、客户沟通,每场一小时起步。 以前的标准流程是开会拼命记→会后凭记忆补→整理成文档发群,结果经常记不全、记错、记串。 大概年…

重庆化龙桥老旧小区改造,怎么搞定夜景照明“不扰居”又能省成本?

重庆化龙桥老旧小区改造,怎么搞定夜景照明“不扰居”又能省成本?

2026/7/29 0:08:23

重庆化龙桥靠着嘉陵江,老小区多,最近几年城市更新做的勤,不少住户都反映过小区夜景亮了是好事,可有的灯太晃眼,半夜拉着窗帘都透光,睡不好觉。还有物业算账,这灯开一整晚,公摊电费蹭…

目标模糊、资源泛滥、进度失控,AI学习计划制定失败的3大隐形陷阱及救急方案

目标模糊、资源泛滥、进度失控,AI学习计划制定失败的3大隐形陷阱及救急方案

2026/7/29 0:08:23

更多请点击: https://codechina.net 第一章:目标模糊、资源泛滥、进度失控,AI学习计划制定失败的3大隐形陷阱及救急方案 目标模糊:学得越勤,离真实能力越远 当学习目标停留在“学会AI”或“搞懂大模型”这类宽泛表述…