2025年7月29日

《碰撞问题》碰撞法线,用于处理物理碰撞和反射效果

摘要: 源码: //为敌人创建一个边界圈 Circle batBounds = new Circle( (int)(newBatPosition.X + (_bat.Width * 0.5f)), (int)(newBatPosition.Y + (_bat.Height * 0.5f)), (int)(_ 阅读全文

posted @ 2025-07-29 21:06 C#我喜欢 阅读(36) 评论(0) 推荐(0)

《碰撞问题》基于屏幕大小及敌人的宽高,生成抽象网格,根据网格让敌人在网格中随机生成

摘要: 让我彻底重写关于"将屏幕划分为蝙蝠大小的网格"这一部分的解释,并逐行详细说明整个碰撞处理逻辑: 碰撞后蝙蝠重定位的完整解析 if (slimeBounds.Intersects(batBounds)) { // 1. 计算屏幕网格划分 int totalColumns = GraphicsDevic 阅读全文

posted @ 2025-07-29 20:14 C#我喜欢 阅读(14) 评论(0) 推荐(0)

《碰撞问题》在防止player 出屏幕范围的时候 为什么>屏幕下面 和 右面 都要减掉 宽高?

摘要: if (slimeBounds.Left < screenBounds.Left) { _slimePosition.X = screenBounds.Left; } else if (slimeBounds.Right > screenBounds.Right) { _slimePosition. 阅读全文

posted @ 2025-07-29 20:05 C#我喜欢 阅读(16) 评论(1) 推荐(0)

导航