Моя проблема похожа на эти вопросы ( физическое тело не соответствует фигуре? ), но установка центра не помогает.Я играл с этим много, но я не могу заставить физическое тело оставаться обернутым вокруг круга.
Первый выпуск первого видео .Подобная / новая проблема в втором видео
Вот мой код для установки:
let sprite = SKSpriteNode(imageNamed: "smileyEmoji")
sprite.size = CGSize(width: 45, height: 45)
sprite.name = "player"
sprite.zPosition = 3
player.addChild(sprite)
player.position = CGPoint(x:85, y:140)
player.physicsBody?.isDynamic = false
player.physicsBody?.allowsRotation = true
player.physicsBody?.restitution = 0.7
player.physicsBody?.friction = 0.0
player.physicsBody?.angularDamping = 0.0
player.physicsBody?.linearDamping = 0.0
player.physicsBody?.usesPreciseCollisionDetection = true
player.physicsBody?.categoryBitMask = PhysicsCategory.CollisionCategoryPlayer
player.physicsBody?.collisionBitMask = PhysicsCategory.CollisionCategoryPlatform | PhysicsCategory.CollisionCategoryPoint
player.physicsBody?.contactTestBitMask = PhysicsCategory.CollisionCategoryPoint | PhysicsCategory.CollisionCategoryDevil
После прыгания:
player.physicsBody = SKPhysicsBody(circleOfRadius: (self.player.childNode(withName: "player") as! SKSpriteNode).size.width/2, center: CGPoint(x: 0, y: 0.0))
player.physicsBody?.isDynamic = true