两个相同节点之间的skphysicsbody冲突

时间:2017-11-13 19:15:39

标签: ios swift sprite-kit skshapenode

我创建了一个声明类似'SKShapeNode'球的类。在它的init中我设置了'SKPhysicsBody'属性。在我设置这些属性(保留默认值)之前,当一个球触摸另一个球时,受触摸影响的两个(如:移动到不同的位置取决于碰撞位置)。在我设置'physicsBody'属性之后它不再受影响 - 一个球看起来在另一个之上(如框架上的帧 - 隐藏它)。我怎样才能设置这个属性?我看看苹果医生并没有发现任何事情...... 这是我的代码:

lass BallNode: SKShapeNode {
    var radius:CGFloat = 0
    var color:UIColor?
    var strokeWidth:CGFloat = 0
    private var _name:String?

override init() {
        super.init()
        self.fillColor = ranColor()
        self.lineWidth = strokeWidth

    }

convenience init(radius:CGFloat){
        self.init(circleOfRadius: radius)
        self.radius = radius
        self.physicsBody  = SKPhysicsBody.init(circleOfRadius: self.radius)
        self.physicsBody?.affectedByGravity = true
        print("ball physicsbody is init")
        self.physicsBody?.restitution = 0.2
        self.physicsBody?.linearDamping = 0.0
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }     
}

0 个答案:

没有答案