collision-detection相关内容

iOS - 拖放碰撞检测如何检测您选择的项目何时拖过另一个子视图?

我们正在为即将成为具有球员位置的运动场添加拖放功能. 使用 Interface Builder 绘制位置,每个位置都是一个单独的 UIImageView. 我们希望能够将球员图像从屏幕一侧的替补位置拖到场上的位置上. 我们如何最好地检测正在移动的选定玩家何时与现有的 gamePosition imageView 发生碰撞? 我们正在寻找一种方法来检测当前位置下是否存在视图或 ..
发布时间:2022-01-11 21:04:14 移动开发

Sprite Kit 中的单向平台碰撞

我正在用 Swift 制作 Doodle Jump 克隆游戏,但问题是当玩家跳跃时,它的头部会撞到平台底部而无法通过.我怎样才能让玩家越过平台并跳过它们?我的代码在这里: 导入SpriteKit类游戏场景:SKScene,SKPhysicsContactDelegate {var hero = SKSpriteNode(imageNamed: "hero");var stepSizeTest = ..
发布时间:2022-01-11 12:30:34 移动开发

IOS SpriteKit 碰撞检测:重置对象的位置

我正在研究碰撞检测,希望当 Object1 向下移动屏幕并最终击中 Object2 时,它会触发 didBeginContact 方法,反过来,Object1 上的 resetPosition 会将 Object1 带回屏幕顶部.我已经使用 NSLogs 进行测试以确保程序是否到达了 didBeginContact 方法,并且确实到达了.最重要的是,该程序还通过调用的方法(resetPositio ..
发布时间:2022-01-11 12:25:02 移动开发

Swift Spritekit 我检测到碰撞,但它读取了多次碰撞

AppImage 我有一堵由 4 个不同颜色的矩形组成的墙,可以通过穿过墙壁,球的颜色必须与墙上矩形的颜色相匹配.球会穿过墙壁,会出现新的墙壁.但是,当我检测到这种碰撞时,我会得到多个碰撞读数.我已经通过打印死或活来测试了这一点,并且它打印了两次或多次. func didBegin(_ contact: SKPhysicsContact) {如果让 nodeA = contact.bodyA.n ..
发布时间:2022-01-11 12:14:19 移动开发

碰撞时,我的玩家以外的物理实体不会调用 didBeginContact

在我的游戏中,我有 4 个位掩码,一切都已设置好,但 didBeginContact 仅在第一个位掩码(playerCategory)与某物碰撞时才被调用.如果 3 与 4 发生碰撞,则不会发生任何事情,即使我设置了 contactTestBitMask 让它们发生碰撞. myscene.h self.physicsWorld.gravity = CGVectorMake(0.0, -2 ..
发布时间:2022-01-11 11:35:41 移动开发

iOS SpriteKit - 碰撞和联系人无法按预期工作

有时在我的 SpriteKit 程序中,我的碰撞和接触(使用 SKPhysicsBody)不会触发或按预期工作.我想我已经设置了我需要的一切,但我仍然没有得到正确的交互. 我是否可以编写一些代码来检查什么会与什么发生冲突,以及设置了哪些主体来生成联系人? 解决方案 为了帮助诊断这些类型的问题,我编写了一个可以从任何地方调用的函数,它将分析当前场景并生成一个节点列表与其他人发生碰撞以及 ..
发布时间:2022-01-11 11:35:30 其他开发

如何检测webgl中的碰撞?

如何在 webgl 中检测碰撞,而不使用像 three.js 这样的任何库? 解决方案 如何在 webgl 中检测碰撞 你没有.WebGL 和 OpenGL 一样,仅用于绘图.它不管理场景,没有“对象"的概念或碰撞之类的高级事物.都是关于点、线、三角形和着色器的. 与场景管理或碰撞相关的任何事情都超出了 WebGL(和 OpenGL)的范围. ..
发布时间:2022-01-09 09:35:54 前端开发

像素完美的碰撞检测 Android

好的,我正在开发一款 Android 游戏.我需要实现像素完美碰撞检测.我已经在每个图像周围设置了边界框,每个边界框都经过转换以匹配图像的当前旋转.这一切都很好.我还将每个位图中的像素数据存储在一个数组中.有人可以帮我找出检测像素是否重叠的最有效方法吗?在此先感谢您的帮助! 解决方案 基本思想是为每个对象创建一个位掩码,您可以在每个像素中指示该对象是否实际存在.然后比较两个对象的位掩码的每 ..
发布时间:2022-01-06 11:16:53 Java开发

Pygame中蒙版和发射光束的重叠[AI汽车模型视觉]

我尝试在 Pygame 中使用预定义的轨道掩码来实现光束碰撞检测.我的最终目标是让 AI 汽车模型能够看到它正在行驶的轨道: 这是我当前的代码,我用光束来掩盖并尝试找到重叠: 导入数学导入系统将 pygame 导入为 pg红色 = (255, 0, 0)绿色 = (0, 255, 0)蓝色 = (0, 0, 255)pg.init()光束表面 = pg.Surface((500, 500) ..

如何随机放置几个非碰撞矩形?

我正在使用 Pygame 开发一些 2D 游戏.我需要同时随机放置多个对象不要让它们相交.我尝试了一些明显的方法,但都没有奏效. 明显的方法如下(伪): 创建对象列表对于列表中的对象:对于列表中的其他对象:如果对象与其他对象碰撞:创建新的对象列表 这种方法花了很长时间. 我尝试过的其他方法: 创建对象列表对于列表中的对象:对于列表中的其他对象:如果对象与其他对象碰撞:从列表中 ..
发布时间:2022-01-02 10:59:43 Python

如何防止玩家在 pygame 的迷宫中穿过墙壁?

我有一个按网格组织的迷宫.网格的每个单元格都存储有关其右侧和底部相邻单元格的墙壁的信息.玩家是一个特定大小的物体,其边界框是已知的.我想让玩家顺利通过迷宫,墙壁阻止他们通过. 最小且可重复的示例: 导入pygame,随机类迷宫:def __init__(self, rows = 9, columns = 9):self.size =(列,行)self.walls = [[[True, Tr ..
发布时间:2022-01-02 10:52:05 Python

Pygame 如何让球碰撞

我想在 pygame 中编写一个脚本,其中两个球相互飞来飞去,当它们碰撞时,它们应该相互弹开,但我不知道该怎么做,所以你能帮我吗? 解决方案 要检测 2 个圆(分别是球)是否碰撞,您必须测试 圆心点之间的欧几里得距离小于半径之和.我建议使用 pygame.math.Vector2/distance_to() 用于计算. 下面的 1 圆由中心点 (x1, y1) 和半径 r1 定义.第二个 ..
发布时间:2022-01-02 10:40:13 Python

Three.js - 用于碰撞检测的准确光线投射

我正在使用 Three.js,版本 68.我使用的碰撞检测方法与此人在此处使用的方法相同,这在大多数情况下都很棒(向作者致以衷心的“谢谢"!):http://stemkoski.github.io/Three.js/Collision-Detection.html 如果你想从github下载它,这里有一个指向源代码的链接.只需查找 Collision-Detection.html:https ..
发布时间:2021-12-31 18:54:43 前端开发

当字典键发生哈希冲突时会发生什么?

我一生都在用 C++ 和 Java 编写代码,但在 C# 上,我觉得它是一种完全不同的动物. 如果c#中的Dictionary容器发生hash冲突,怎么办?或者它甚至检测到碰撞? 如果在 SDL 中的类似容器中发生冲突,有些人会像链表一样使键值部分链接数据到键值部分,或者一些人会尝试找到不同的哈希方法. [上午 10:56 更新6/4/2010] 我正在尝试为每个用户创建一 ..
发布时间:2021-12-27 16:26:55 C#/.NET

应该使用什么技术来修剪 2d 碰撞检查?

从一开始,碰撞检测感觉就像是一个 O(n^2) 的问题. 您有一堆对象,您需要检查每个对象是否与任何其他对象发生碰撞.但是,我知道根据所有其他对象检查每个对象是非常低效的.如果两个球甚至彼此不靠近,为什么要在它们之间进行相对昂贵的碰撞检查? 这是我正在开发的简单程序的示例: 如果你有 1000 个球,那么如果你使用天真的碰撞检测,你将有 1000^2 个集合检查(一百万)!这种碰 ..

在 pygame 中使用 vector2.与窗框碰撞,将球限制在矩形区域内

嘿,我正在尝试使用 pygame 创建一个突破性克隆,我使用了 self.course(180 - self.course) % 360 为了弹起桨的球,但是我正在研究矢量 2 类,但我不知道如何使用它来转换我的 Ball 类.如果有人能指导我朝着正确的方向前进. 这是我想使用 vector2 转换的代码. 导入pygame导入数学类球(pygame.sprite.Sprite):课程 ..
发布时间:2021-12-21 13:25:13 Python

Javascript画布碰撞检测

我正在使用需要碰撞检测的画布在 Javascript 中构建游戏,在这种情况下,如果玩家精灵击中一个盒子,则不允许玩家通过盒子. 我有一个名为 blockList 的全局数组,用于保存所有绘制到画布上的框.它看起来像这样: var blockList = [[50, 400, 100, 100]]; 他们像这样被吸引到画布上: c.fillRect(blockList[0][0],bl ..
发布时间:2021-12-21 08:52:43 前端开发

JavaScript 中直线和圆之间的碰撞检测

我正在寻找一个明确的答案,也许是一个函数,因为我很慢,它将确定线段和圆是否在 javascript 中发生碰撞(使用画布) 一个像下面这样的函数,如果碰撞就返回真,否则返回假,那就太棒了.我什至可以给你捐一个孩子. function isCollided(lineP1x, lineP1y, lineP2x, lineP2y, circlex, circley, radius) {...} ..
发布时间:2021-12-21 08:42:18 前端开发

使用 JavaFX 检查形状的碰撞

我正在尝试进行一些碰撞检测.对于这个测试,我使用简单的矩形 Shape,并检查它们的 Bound,以确定它们是否发生碰撞.虽然检测没有按预期工作.我尝试使用不同的方式来移动对象(重定位、setLayoutX、Y)以及不同的边界检查(boundsInLocal、boundsInParrent 等),但我仍然无法让它工作.如您所见,检测仅适用于一个物体,即使您有三个物体,也只有一个物体检测碰撞.这是一 ..
发布时间:2021-12-20 11:47:02 其他开发