extension SKPhysicsBody {
/// anchorPoint version of init(rectangleOfSize:center:)
convenience init(rectangleOfSize s: CGSize, withAnchorPoint anchorPoint: CGPoint) {
var center = CGPoint()
center.x = (s.width/2) - (s.width * anchorPoint.x)
center.y = (s.height/2) - (s.height * anchorPoint.y)
self.init(rectangleOfSize: s, center: center)
}
}
Я получил эту ошибку во время выполненияSwift удобство расширения инициализатор SKPhysicsBody
-[PKPhysicsBody initWithRectangleOfSize:withAnchorPoint:]: unrecognized selector sent to instance 0x7f9b03c4fff0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PKPhysicsBody initWithRectangleOfSize:withAnchorPoint:]: unrecognized selector sent to instance 0x7f9b03c4fff0'
Это, как я называю в коде
// redBox is a typical SKSpriteNode()
redBox.physicsBody = SKPhysicsBody(rectangleOfSize: redBox.frame.size, withAnchorPoint: redBox.anchorPoint)
Я в основном хотят расширить SKPhysicsBody
класс, чтобы обеспечить удобный инициализатор до его заводского метода
Как вы называете инициализатор? – Cristik
'redBox.physicsBody = SKPhysicsBody (rectangleOfSize: redBox.frame.size, withAnchorPoint: redBox.anchorPoint)' –
В моем обходном методе используется метод фабрики 'SKPhysicsBody.bodyWithRectangleOfSize (: withAnchorPoint:)' для возврата тела физики. Это совершенно не так быстро, как и вся фабрика obj-c хорошо подходит для соответствующего метода init. –