没有使用场景编辑器和自定义SKSpriteNode子类的物理

时间:2016-03-10 21:04:05

标签: ios sprite-kit

当我在场景编辑器的自定义类检查器中将场景的节点设置为我的SKSpriteNode子类时,节点按照预期(在实现init(coder:_)方法之后)工作,除了节点上的物理主体。

以下是节点的Attributes Inspector的屏幕截图:

Attributes Inspector

我注意到物理定义显然没有设置。但正如您在我的SKSpriteNode子类的init方法中所看到的,我在这里设置了物理主体:

required init()
{
    //  Super
    super.init(texture: nil, color: MyColour, size: MySize)

    //  Setup the bubble node
    _setupBubbleNode()
}

required init?(coder aDecoder: NSCoder)
{
    super.init(coder: aDecoder)

    //  Setup the bubble node
    _setupBubbleNode()
}

private func _setupBubbleNode()
{
    //  Properties...
    /// setup stuff...

    //      Physics body
    physicsBody = SKPhysicsBody(circleOfRadius: _radius)
    physicsBody!.mass = _bubbleMass
    physicsBody!.linearDamping = 20
    physicsBody!.angularDamping = 1
    physicsBody!.restitution = 0.2
    physicsBody!.allowsRotation = false
    physicsBody!.affectedByGravity = true


    //  Other stuff...
    /// setup stuff...
}

注意:我还应该补充一点,当以编程方式添加我的精灵的新实例时,物理工作......

0 个答案:

没有答案