【问题标题】:How to enforce touching within a ring shape using iOS SpriteKit?如何使用 iOS SpriteKit 在环形内强制触摸?
【发布时间】:2016-01-17 08:43:47
【问题描述】:

我需要让玩家在阴影环内移动手指:

一旦手指移出戒指(以红色显示),程序应该能够检测到“超出边界”事件。

在 SpriteKit 中执行此操作的任何最佳实践,最好是在 Swift 中?谢谢!

【问题讨论】:

  • 我确信有更好的方法,但我会使用解析几何来检查触摸是否在环内。实际上,检查与中心的距离就足够了
  • @lukasbalaz7 谢谢,检查距中心的距离应该有效。也许我应该问如何用不规则的形状做到这一点。

标签: ios swift sprite-kit collision-detection


【解决方案1】:

您可以使用CGPath 绘制形状,然后使用CGPathContainsPoint 确定触摸的位置是在路径内部还是外部。

您可以使用 SKShapeNode 在 SpriteKit 中使用这样的 CGPaths。

【讨论】:

  • 从文档中,我认为 CGPathContainsPoint 计算某个点是否在 路径上,而不是 within 路径定义的形状。我错了吗?
  • @MinosNiu 不,它会计算它是否在形状内,请参阅“讨论”,其中说:“如果在填充路径时它位于绘制区域内,则该点包含在路径中。 "
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-31
  • 2017-03-31
  • 1970-01-01
相关资源
最近更新 更多