矩形之间的二维碰撞检测

2023-12-10

我正在为我的游戏编写碰撞检测引擎,但遇到一些问题。

事实上,由于我有几个固定的矩形和一个移动的(玩家),我需要知道固定矩形的哪一侧首先被玩家碰撞,以正确地替换他。

固定矩形不在网格中,因此它们可以放置在地图上的任何位置,并且可以具有不同的大小。它们不旋转。

玩家类存储其方向向量。

任何想法?

KiTe


简而言之:
您将相互比较边界矩形的 Y 和 X 分量以检查是否发生碰撞。如果玩家的顶部(Y)小于敌人的底部,那么您不需要再检查,因为它们不可能发生碰撞。如果玩家的右侧(X)小于敌人的左侧,那么他们就不会发生碰撞。这将有助于定义您打算在类内检查的每个对象的顶部、右侧、底部、左侧。这将使您知道哪一侧也被击中。这应该足以让您思考和尝试。
玩得开心!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

矩形之间的二维碰撞检测 的相关文章

  • C 编程 - 文件 - fwrite

    我有一个关于编程和文件的问题 while current NULL if current gt Id Doctor 0 current current gt next id doc current gt Id Doctor if curre
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 为什么当实例化新的游戏对象时,它没有向它们添加标签? [复制]

    这个问题在这里已经有答案了 using System Collections using System Collections Generic using UnityEngine public class Test MonoBehaviou
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • 使用 WebClient 时出现 System.Net.WebException:无法创建 SSL/TLS 安全通道

    当我执行以下代码时 System Net ServicePointManager ServerCertificateValidationCallback sender certificate chain errors gt return t
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 如何从两个不同的项目中获取文件夹的相对路径

    我有两个项目和一个共享库 用于从此文件夹加载图像 C MainProject Project1 Images 项目1的文件夹 C MainProject Project1 Files Bin x86 Debug 其中有project1 ex
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低

随机推荐

  • Api 文件 Azure 函数绑定的动态输出文件名(onedrive、dropbox 等)

    我有一个带有计时器触发器的 Azure 函数 然后我想生成一个具有动态 在运行时定义 名称和内容的文件 并将其保存到例如一个驱动器 我的功能代码 public static void Run TimerInfo myTimer out st
  • Python 计算字母出现次数

    我正在尝试计算字母的出现次数并打印它们 这是我到目前为止所拥有的 def histogram L d for x in L for letter in x if letter in d d letter 1 else d letter 1
  • UnexpectedRollbackException - JTA 事务意外回滚

    当我运行下面的代码时 我得到 UnexpectedRollbackException 而不是 ArrayIndexOutOfBoundsException 环境 Weblogic Spring Hibernate JTA 和 EJB Cod
  • 使用扩展方法验证域模型

    我一直在研究使用服务层在将域模型保存到数据库之前验证它们 我找到了下面的例子使用扩展方法来验证我的模型 但想知道这样做是否有任何具体的缺点 我没有看到验证 除了数据注释 提到那么多 我正在考虑实施以下内容 public class FooS
  • .rar、.zip 文件 MIME 类型

    我正在开发一个简单的 php 上传脚本 用户只能上传 ZIP 和 RAR 文件 我应该使用哪些 MIME 类型来检查 FILES x type 请提供完整列表 自由和平组织 Kiyarash 和 Sam Vloeberghs 的回答 rar
  • VBA将html表格数据复制到excel工作表

    我需要一个可以将本地 html 表数据提取到 Excel 工作表的 VBA 脚本 我有一些代码 在网络上的某个地方找到 可以使用 URL 链接来工作 但我想要的是能够使用本地存储的 html 文件来完成此操作 错误是我得到的是 应用程序定义
  • 如何在 python 中从特定的 ISO 格式正确解析日期

    我连接到数据库上的一个表 其中有两列带日期 我可以毫无问题地解析具有如下格式的值的列 2017 11 03但我找不到一种方法来解析日期格式如下的另一列 2017 10 03 05 06 52 840 02 00 我的尝试如果我通过解析单个值
  • OS X - 真正的“按需”特权帮助工具

    我的应用程序需要将文件写入文件系统上的受限位置 为此 我使用以 root 身份运行的辅助工具 一切正常 遵循这个例子 我的辅助工具已正确安装并运行 我使用此解决方案能够 唤醒 辅助工具 否则它在初始加载后不会启动多次 辅助工具正在等待来自主
  • 字符串到数字转换的性能问题

    我有空格分隔的字符串 其中包含中间的数字 例如 abc123 ws32wd3 y3tg43 5tga89 a1a 我必须解析字符串以获取每个标记中的数字 然后总结从标记中提取的所有数字 我写了下面的代码 但我认为 如果有很大的字符串 那么可
  • python2.6.6 将 apache 日志时间戳转换为自纪元以来的秒数(unix 风格)

    由于我完全迷失在 stackoverflow 上找到的数十种进行时间戳转换的方法中 所以我将在这里问完整的问题 从 apache 日志转换此时间戳 采用 CEST 时区 30 Aug 2015 05 13 53 0200 进入这个 1440
  • 如何将子 XML 元素与 XSD 中的文本混合

    考虑以下 XML
  • 如何测试与 db2 数据库的连接

    我需要测试与 db2 数据库的连接 对于 Oracle 数据库 我会执行 select from Dual 来执行此操作 但 Dual 是 Oracle 特有的 db2有类似的规范测试sql语句吗 SELECT 1 FROM SYSIBM
  • 联合或结构是否允许从未初始化的实例进行赋值?

    这个问题是关于将未初始化的自动变量分配给另一个相同类型的变量的定义或其他方面 Consider typedef struct int s1 int s2 Foo typedef union int u1 Foo u2 Bar int mai
  • Javascript 将宽度和高度转换为字体大小

    我不确定这个问题是否已经被提出和回答 但我还没有找到任何相关结果 我想知道是否可以计算特定尺寸 宽度 高度 并将其转换为 字体大小 例如 我有 var textWidth 150 var textHeight 30 我想从这些尺寸 像素 中
  • 为什么 TypedReference.MakeTypedReference 如此受限?

    我终于明白了它的用法TypedReference MakeTypedReference方法 但为什么论据如此有限 底层私有InternalMakeTypedReference void result object target IntPtr
  • Spring data JPA @Query 与命名列的映射

    我将 Spring Boot 1 5 和 spring data JPA 与 MySQL 结合使用 我尝试在单个表上运行简单的计数查询 但找不到比这更好的方法来映射查询结果 存储库 public interface VehicleRepos
  • 查找字符串中出现次数最多的字符?

    例如 我有一个字符串 abbbbccd b出现次数最多 使用 C 时 处理此问题的最简单方法是将每个字符插入到map lt gt 我必须在 C 中做同样的事情吗 有没有一种使用 LINQ 的优雅方法 input GroupBy x gt x
  • 对角积乘法

    我想要每组日期的对角线乘法 主要数据集 date Bucket D 1 31 2013 bkt 0 NA 1 31 2013 bkt 1 10 20 NA 1 31 2013 bkt 2 20 30 NA 1 31 2013 bkt 3 3
  • jQuery:如果所有子div的html为空,则隐藏父div

    我有一个父 div 包含三个子 div 我想检查子 div 以查看它们是否为空 如果它们都为空 我想隐藏父 div 以便背景在我的设计中消失 div class main div class tot1 div div class tot2
  • 矩形之间的二维碰撞检测

    我正在为我的游戏编写碰撞检测引擎 但遇到一些问题 事实上 由于我有几个固定的矩形和一个移动的 玩家 我需要知道固定矩形的哪一侧首先被玩家碰撞 以正确地替换他 固定矩形不在网格中 因此它们可以放置在地图上的任何位置 并且可以具有不同的大小 它