【问题标题】:Locking Physics Body to X Axis Spritekit Swift将物理体锁定到 X 轴 Spritekit Swift
【发布时间】:2015-05-25 18:29:39
【问题描述】:

我有一个想要锁定到 x 轴的节点。我对节点产生了冲动(如下图)。

    rectangle.physicsBody!.applyImpulse(CGVectorMake(-11,0))

节点从 x 轴开始,但一旦与另一个物理体接触,它就会在 y 轴和 x 轴上飞离。我想知道如何将其锁定到 x 轴,使其无法上下移动。任何帮助将不胜感激。

【问题讨论】:

标签: ios swift sprite-kit skphysicsbody


【解决方案1】:

如果你创建一个 SKNode/SKSpriteNode 等子类,你可以在节点的更新函数中锁定移动。

这样,您始终可以将运动锁定在您想要的轴上。你不会锁定物理体,而是节点本身。

更新

您需要在发生碰撞时使用碰撞委托存储节点的点。

例如碰撞点 = 节点中心

您可以将其位置锁定到这样的轴上

func update(dt: NSTimeInterval)
{
    // locks the position to collision points y coordintate
    self.position = CGPointMake(self.position.x, collisionPoint.y) 
}

从场景中调用这个更新函数

覆盖函数更新(当前时间:NSTimeInterval)

【讨论】:

  • 谢谢,但我会写什么代码来实现这一点? @Helium3
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多