SpriteKit - 用物理体绘制包含其他圆圈的圆圈

Posted

技术标签:

【中文标题】SpriteKit - 用物理体绘制包含其他圆圈的圆圈【英文标题】:SpriteKit - drawing circles containing other circles with physics body 【发布时间】:2014-03-09 07:08:06 【问题描述】:

我是 Objective-C 的新手,我正在尝试制作一个简单的 spriteKit 游戏,其中包含一个圆圈和一个球。我想在这个圆圈中移动球,以及在 iPhone 上移动。到目前为止,我已经创建了圆圈并且能够将球放在屏幕上。

我的问题是我不确定球实际上是在圆圈内还是在圆圈顶部。当我在球上附加一个物理体时,它会从屏幕上掉下来,并且不会停在圆的底部边缘。我对圆和球都使用 SKShapeNode。

请帮助我提供正确的文档来解决这个问题或一小段代码。

【问题讨论】:

欢迎来到 Stack Overflow。请尽快阅读About 页面。一般来说,人们更喜欢看一些能说明你的问题的代码;它让人们更容易看到你做错了什么。 【参考方案1】:

您需要为您的节点分配适当的物理实体。请参阅 Sprite Kit 编程指南中的 Simulating Physics。

根据您的描述,听起来您需要使用 bodyWithEdgeLoopFromPath: 方法创建外圆的物理体(并提供表示圆的路径)。请注意,边缘循环物理体不是dynamic,只能与基于体积的体碰撞。

内球物理体可以用bodyWithCircleOfRadius:创建。

【讨论】:

感谢一百万 @Janis K,这是我需要做的。有用。再次感谢

以上是关于SpriteKit - 用物理体绘制包含其他圆圈的圆圈的主要内容,如果未能解决你的问题,请参考以下文章

在我的 swift SpriteKit 游戏中,物理体的轮廓通过所有其他节点显示

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

低 SpriteKit FPS 会导致碰撞丢失?

在 Sprite Kit 中为迷宫创建物理体的最佳方法?

Swift SpriteKit 基本接触/碰撞

Swift SpriteKit 从图像的纹理中制作物理体会大大降低我的应用程序的速度