我创建了一个声明类似'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")
}
}