C++简单的图像碰撞

发布于 2024-10-31 08:00:45 字数 107 浏览 1 评论 0原文

我已经进行了大量搜索,但我不确定哪些答案适用于我的问题。我正在制作一个简单的游戏,在计时器上,当您左右移动“角色”时,图像会向下移动。当它们碰撞时,我该如何让它从变量中减去 1?如果需要我可以发布代码

I have done a bunch of searches but i was unsure what answers apply to my problem. Im making a simple game where on a timer a image moves down while you move your "character" left and right. How would i go about making it subtract 1 from a variable when they collide? I can post code if needed

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梨涡 2024-11-07 08:00:45

你说的是碰撞检测吗?我可能需要代码,但我假设您知道对象的宽度和高度、x 和 y 位置,并且它们是矩形的。检查它们是否相交应该很简单。检查对象 1 的 (y + 高度) 是否大于对象 2 的 (y + 高度),并且对象 1 的 (x + 宽度) 是否大于对象 2 的 x。对其他边做类似的事情。

编辑:事实上,您可以在另一个线程上运行碰撞检测,只是这样做不会使您的 UI 线程陷入困境。

Are you talking about collision detection? I would probably need code, but I am assuming you know the width and height, x and y position of your objects, and that they are rectangular. Checking if they intersect should be trivial. Check if object 1's (y + height) is greater than object 2's (y + height) and that object 1's (x + width) is greater that object 2's x. Do similar things for other edges.

EDIT: In fact, you could run collision detection on another thread just do it doesn't bog down your UI thread.

温折酒 2024-11-07 08:00:45

这取决于角色的形状。对于两个都是圆的简单情况,您可以在每一步找到圆心之间的距离,并在小于半径之和时触发碰撞。对于矩形形状的情况,也非常简单。

It depends on the shape of the characters. For a simple case of both being circles, you could just find the distance between the centers at every step, and triggering the collision when it reaches less than the sum of radii. For the case of rectangular shapes, it would also be pretty simple.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文