Столкновение skphysicsbody между двумя одинаковыми узлами

Я создал класс, который объявляет шар вида «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")
    }     
}

person omerc    schedule 13.11.2017    source источник
comment
Вы создаете эти шары в коде или в редакторе и создаете подклассы в редакторе?   -  person Discoveringmypath    schedule 15.11.2017
comment
что вы имеете в виду под редактором? Я создаю их внутри моей функции touchesBegan прямо сейчас (в будущем я хотел бы создавать их случайным образом в сцене) — с помощью «let ball = Ballnode (радиус: 65)»   -  person omerc    schedule 15.11.2017
comment
Я имел ввиду в редакторе сцен. где вы можете перетаскивать спрайты в сцену. Файл .sks.   -  person Discoveringmypath    schedule 15.11.2017
comment
о, так я создаю их внутри своего кода.   -  person omerc    schedule 15.11.2017
comment
Я не знаю, нужно ли вам удобство init. Вы можете просто поместить код в init. Также используйте SKPhysicsBody(circleOfRadius: self.radius). Не уверен, что .init() для физического тела все испортит. Я бы установил битмаски, как я сказал в другом вопросе. И убедитесь, что оператор печати печатается, иначе вы знаете, что ни один из этих кодов не выполняется.   -  person Discoveringmypath    schedule 15.11.2017