当前位置: 首页 > 知识库问答 >
问题:

边缘检测-->CGPath-->SpriteKite碰撞

孔权
2023-03-14

我一直试图在iOS 7版SpriteKit中找到最有效的方法来获得每像素碰撞(然而,iOS 8版SpriteKit支持此功能)。当然,我想用一个方框或圆圈来表示精灵的物理身体,但不幸的是,游戏的本质要求每像素碰撞。

我知道我可以手动绘制精灵周围的CGPath,但我正在努力为自己节省一些时间/创建一种长期使用的方法/学习新的东西。由于精灵的图像是在alpha背景(png文件)上绘制的,我想知道使用边缘检测或其他方法是否可以用CGPath追踪非alpha边缘。这将在游戏初始化期间发生,CGPath将变成物理体并被保存。我在网上找不到太多帮助,尽管我确实读到这可能非常棘手。

任何帮助都非常感谢。谢谢!

共有1个答案

狄兴邦
2023-03-14

据我所知,你不能自动跟踪非阿尔法边缘,我使用一个工具,你拖放一个精灵到一个盒子里,点击点来代表物理身体。该工具然后返回你刚刚定义的路径的代码,这使得事情变得稍微容易一些,直到iOS 8出来。

 类似资料:
  • 我遵循Mozilla游戏开发教程,并在HTML5 Canvas和JS中制作了一个简单的突破游戏。 然而,我想放大画布,因为它有点小,所以我尝试了800x600画布。然后,我注意到对于这个新的画布大小来说,球有点慢。 最初在mozilla教程中,球的速度是2。我尝试使用3。因此,问题就来了。。。 当我使用每秒刷新60倍的requestAnimationFrame时,我们可以说我的球将每秒移动3 x

  • Canny边缘检测用于检测图像中的边缘。 它接受灰度图像作为输入,并使用多级算法。可以使用类的方法在图像上执行此操作,以下是此方法的语法。 该方法接受以下参数 - image - 表示此操作的源(输入图像)的对象。 edges - 表示此操作的目标(边缘)的对象。 threshold1 - 类型为的变量表示滞后过程的第一个阈值。 threshold2 - 类型为的变量表示滞后过程的第二个阈值。 示

  • 我几乎没有图像处理和识别的背景知识。我试图检测灰度图像(如肖像)上的主边缘/灰度变换。问题是在某些部分,边缘模糊(因为焦点)。我使用的是具有多个阈值的Canny边缘检测器,但我永远无法检测到这些边缘(下巴、衣服、耳朵、脸部侧面等) 边缘检测是正确的工具吗?谢谢

  • 目标 在这一章中,我们将学习 Canny 边缘检测的概念 OpenCV 的 Canny 边缘检测函数:cv2.Canny() 理论基础 Canny边缘检测是一种流行的边缘检测算法。它是由 John F. Canny 于 1986 年开发的。它是一个多阶段算法,我们将学习每个阶段做了什么。 降噪 由于边缘检测容易受到图像中的噪声影响,因此首先要用5x5高斯滤波器去除图像中的噪声。我们在前面的章节已经

  • 目标 在本章中,我们将学习 Canny边缘检测的概念 OpenCV函数: cv.Canny() 理论 Canny Edge Detection是一种流行的边缘检测算法。它由John F. Canny发明 这是一个多阶段算法,我们将经历每个阶段。 降噪 由于边缘检测容易受到图像中噪声的影响,因此第一步是使用5x5高斯滤波器消除图像中的噪声。我们已经在前面的章节中看到了这一点。 查找图像的强度梯度 然

  • 本文向大家介绍python实现canny边缘检测,包括了python实现canny边缘检测的使用技巧和注意事项,需要的朋友参考一下 canny边缘检测原理 canny边缘检测共有5部分组成,下边我会分别来介绍。 1 高斯模糊(略) 2 计算梯度幅值和方向。 可选用的模板:soble算子、Prewitt算子、Roberts模板等等; 一般采用soble算子,OpenCV也是如此,利用soble水平和