8得票2回答
SpriteKit如何在不将dynamic设置为true的情况下检测碰撞?

我希望能检测到我的精灵之间的碰撞和接触,但我不想使它们动态移动(我只需要知道它们是否发生了接触)。如果我将我的玩家的 physicsBody.dynamic 设置为 true,则仅会调用 didBeginContact(contact: SKPhysicsContact!)。那么,如何在不影响...

8得票6回答
同一SKPhysicsBody的didBeginContact被多次调用

func didBeginContact(contact: SKPhysicsContact) { if ( contact.bodyA.categoryBitMask & BodyType.shield.rawValue ) == BodyType.shield.rawVa...

7得票1回答
在运行时更改SpriteNode物理体大小

我希望能够在用户向下滑动时更改节点的physicsBody高度,但除了重置整个物理体外,我还没有找到如何实现此操作。 当我最初加载节点时,我使用以下代码: nodeHero.color = UIColor .grayColor() nodeHero.size.width =...

9得票5回答
SKPhysicsBody bodyWithPolygonFromPath内存泄漏问题

当我使用自定义形状创建Sprite Kit物理体时,出现了奇怪的内存泄漏。这是我的实现方式: CGFloat offsetX = self.frame.size.width * self.anchorPoint.x; CGFloat offsetY = self.frame.size.hei...

8得票3回答
SpriteKit中SKPhysicsBody bodyWithTexture是倒置的。

你好,我正在尝试修复使用SpriteKit时物理形状出现倒置的错误。 [SKPhysicsBody bodyWithTexture:monsterTexture size:monsterTexture.size] 怪物第一次出现时,其物理体的方向是正确的。但第二次及以后每次出现时,怪物的...

8得票1回答
如何复制带有SKPhysicsBody的SKSpriteNode?

今天我在尝试从一个SKScene复制和取消归档一个SKSpriteNode的时候,遇到了一个有趣的情况。从下面游乐场的输出中可以看到,在复制后linearDamping和angularDamping都没有被保留(它们似乎回到了默认值)。 // PLAYGROUND_SW1.2 - SKSpr...

9得票3回答
翻转x轴比例破坏了碰撞处理(SpriteKit 7.1)

我使用SKNode的xScale属性来水平翻转我的精灵。现在,升级到iOS 7.1版本后,水平翻转会导致我的对象陷入地面。(请参见下方动画)。问题只出现在xScale属性上。垂直翻转正常工作。 // Init { SKSpriteNode* ground = [SKSpriteNod...

8得票4回答
iOS Swift中didBeginContact未被调用

我过去两天一直在努力使两个SKSpriteNodes注册碰撞并调用didBegin#contact方法。 我已经为两个对象设置了categoryBitMask、contactTestBitMask和collisionTestBitMask属性。 我还将它们的dynamic属性都设置为tru...

11得票2回答
如何应用zRotation,使其相应地影响SKPhysicsBody?

假设我有一个SKSpriteNode,代表一辆汽车的车轮,并且已经成功附加了一个圆形SKPhysicsBody。这个游戏/模拟器是侧向滚动的2D汽车驾驶游戏/模拟器。 我的目标是在尚未使用SpriteKit物理引擎的情况下自己计算发动机中的所有物理效应。我想完全掌控如何计算发动机、离合器、变...

8得票2回答
如何设置圆形的物理属性,使其沿着给定路径移动。

物理圆体的运动对于我想要实现的目标来说太过不规则。我希望限制它,使其沿着特定路径触碰到特定点(或一系列点),如下图所示。我该如何设置物理属性以遍历类似的路径?