Я создал класс, который объявляет шар вида «SKShapeNode». в его инициализации я установил свойства «SKPhysicsBody». прежде чем я установлю эти свойства (оставьте их по умолчанию), когда один шар касается другого, оба затронуты прикосновением (например: перемещение в другое положение зависит от положения столкновения). после того, как я установил свойства physicsBody, это больше не повлияет - один шар будет казаться выше другого (как кадр на кадре - скрыть его). как я могу установить это свойство? Я смотрю документ Apple и ничего не нашел... вот мой код:
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")
}
}