问题标签 [collision-detection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5879 浏览

c# - C# 2D 碰撞检测问题

我被困在试图弄清楚如何改变我的碰撞检测以使其正常工作,我将所有墙壁对象堆叠在一个列表中,然后当玩家移动时,我循环遍历每个墙壁对象并调用 DetectCollision 方法,这将返回 true 或 false取决于物体是否在墙内。

墙壁检测碰撞(X和Y坐标是墙壁的位置)

因此,在我的播放器功能中,当玩家尝试移动时,我将移动添加到临时 X、Y 坐标并检查它们是否与墙壁碰撞,如果它们什么也没发生,否则我移动播放器。

但我注意到它不能正常工作,如果我在游戏场内添加一块墙,它只会检查右下角的碰撞检测?

玩家移动方式:

DetectWallCollision 的循环只是:

有任何想法吗?

0 投票
4 回答
3661 浏览

c# - 使用 MeshGeometry3D 进行碰撞检测

我正在创建类似 CAD 的程序,创建 modelvisual3D 对象。如何使用 MeshGeometry3D 在我的对象(modelvisual3d)之间进行碰撞检测。我是否必须将移动物体中的每个三角形与静止物体进行比较?

我进行碰撞检测的最佳方法是什么?

0 投票
2 回答
3723 浏览

physics - 检测网格和球体之间的碰撞点?

我正在使用OgreMOC编写物理模拟。

我有一个球体,我从相机的位置拍摄,它通过使用相机的前向矢量沿相机面对的方向行进。

我想知道如何检测我的球体和另一个网格之间的碰撞点。

如何使用 MOC 或 OGRE 检查两个网格之间的碰撞点?

更新:应该在前面提到这一点。我无法使用第 3 方物理库,因为我需要自己开发它(uni 项目)。

0 投票
1 回答
5933 浏览

actionscript-3 - hitTestObject 碰撞检测在 as3 中不起作用!

我正在尝试创建一个平台游戏,并且我试图让“player1”在它碰到“平台”时停止。到目前为止,这是我的代码,

但是,hitTestObject 函数(enterFrameHandler)不能正常工作,并且总是采用“else”路线。

请帮忙!

0 投票
1 回答
2261 浏览

iphone - iPhone SDK:碰撞检测,必须是矩形吗?

我正在为 iPhone 制作一个基本的平台游戏,但我的碰撞检测遇到了问题。

碰撞检测是在玩家在平台上时停止游戏中存在的重力,问题在于碰撞检测是玩家周围的矩形,无论如何都要对实际形状进行碰撞检测图像(具有透明度)而不是它周围的矩形?

0 投票
5 回答
6235 浏览

2d - 边界框碰撞处理 - 不检测

一周前我有这个工作,但后来我把它弄坏了。我不能让它再次工作。我有一些 2D 精灵,它们只是矩形。不涉及轮换。我不是在寻找一种方法来检测它们之间的冲突,我有,并且有成千上万的文章在那里。我找不到任何关于当你看到碰撞时该怎么做的资源。我想要的只是不允许精灵重叠。没有反弹或任何东西。他们只是停下来。具体来说,现在我只有一个玩家和一些他遇到的关卡。

这听起来很简单,但事实并非如此。它必须非常精确,否则会发生奇怪的事情。我整天都在尝试以奇怪的混合结果来解决这个问题。有时我的球员卡在地板上,不能左右移动。当我解决这个问题时,他可以左右穿过街区。

所以我目前的设置是这样的:尝试将玩家移动到他想去的地方。然后询问地图他的瓷砖是否与任何东西发生碰撞。如果是这样,地图会显示四个方向中每个方向有多少重叠像素。现在棘手的部分是玩家应该如何对这些数字做出反应。当他在地面上时,与地板有 1 个像素的重叠,以便让他知道自己在地面上(否则他会在跌落和落地之间振动,因为没有重叠他认为他下方没有任何东西)。这一像素重叠意味着左右边缘也嵌入地板中,因此他无法移动。

有没有一种很好的方法来解决所有问题,为玩家使用一个边界框?为他的四个边分别设置一个单独的边界框会更好吗?

0 投票
5 回答
412 浏览

javascript - 这在 JavaScript 中可能吗?

我想在 JavaScript中创建一个类似于ElastoMania的游戏。

我想知道,使用 div 是否不可能进行碰撞检测,因为它们是方形的,并且游戏原理围绕着开车上坡等?

这在画布上可行吗?

另外,使用 jQuery 之类的库会减慢 JS 游戏的运行速度吗?我注意到大多数游戏都是用 vanilla JS 构建的,所以我认为为这种应用程序(游戏)使用库是个坏主意。

谢谢

更新

这似乎是一个复杂的游戏!我可能仍然会继续。如果有人想加入这个项目,请联系我。

0 投票
3 回答
210 浏览

java - 扩展类的问题

我在做辫子。我有一个类Wall可以防止物体进入墙壁。一切都在Wall工作。但现在我正试图在天花板上做同样的事情。我的天花板课程扩展了Wall。我只是做了一个这样的构造函数:

现在,我在我的级别中拥有ArrayList所有墙壁和ArrayList天花板中的一个。我必须以这种方式添加墙壁:

还有这样的天花板:

...替换坐标。

如果我检查天花板中是否有物体:什么都没有发生:物体穿过天花板。如果我使用这种方式添加天花板,它可以工作:

我希望我已经解释得很好。有人知道问题是什么吗??

谢谢

编辑:

这是我的碰撞码:

我的代码


' doodelijk' 意味着致命

墙:

天花板:

0 投票
1 回答
1666 浏览

actionscript-3 - 在 ActionScript 中制作具有 2D 运动并在撞到墙壁时停止的对象

我想制作一个具有键盘移动(上、下、左、右)的正方形,当它碰到另一个物体(如墙壁)时会停止。

编辑:我已经有一个正方形和一个键盘布局,但如果需要特定的东西,请告诉我!

0 投票
2 回答
2271 浏览

iphone - 有效地使用 iPhone OpenGL ES 进行 2d(和碰撞检测)

这可能是一个更普遍的opengl问题。使用 OpenGL ES for 2d,并阅读教程,我学会了如何进行基本的矩阵变换,比如在屏幕上旋转和移动对象。到目前为止,一切都很好 - 我有一些物体在移动和旋转。

我的下一步是进行碰撞检测。像检查边界框之间的交叉点这样简单的事情可能就可以了。但是,我被卡住了,因为为了知道边界框何时相交,我必须知道我的对象的平移、旋转坐标。但我找不到从 OpenGL 获取这些数字的方法。

所以我真的必须自己做旋转和变换,除了让OpenGL做它们,只是为了得到翻译后的坐标?或者有什么方法可以将当前矩阵应用于顶点并获得结果?OpenGL 不能比我快得多吗?

感谢您的帮助,对于通常如何完成此类事情,我将不胜感激。