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

标签 ios image-processing sprite-kit collision-detection edge-detection

我一直在尝试找到在 iOS 7 的 SpriteKit 中获取每个像素碰撞的最有效方法(但是,iOS 8 的 SpriteKit 支持这一点)。当然我想用一个盒子或圆圈来表示 Sprite 的物理体,但不幸的是游戏的本质要求每个像素碰撞。

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

任何帮助深表感谢。谢谢!

最佳答案

据我所知,您无法自动跟踪非 alpha 边缘,我使用 tool您将一个 Sprite 拖放到一个盒子中,然后单击点来表示物理体。然后,该工具会返回您刚刚定义的路径的代码,在 iOS 8 发布之前,它会让事情变得更容易一些。

关于ios - 边缘检测 --> CGPath --> SpriteKite 碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25147271/

相关文章:

ios - 改变CALayer位置的目的是什么

image - 如何检查模糊图像?

image - 将低分辨率图像放大到高分辨率图像时,哪种方法/算法可提供最佳输出质量?

macos - 获取 SKSpriteNode 纹理在该位置的 alpha 值

ios - 如何使 SKEmitterNode 中的粒子不透明?

swift - 制作爆炸动画SKaction并移除

ios - 前置摄像头无法添加输入,从后到前切换摄像头?

ios - 在MRC中阻止为什么此代码不会崩溃

algorithm - 在图片中找到美国国旗?

ios - 使用 Accelerate 平均像素颜色