Моя цель состоит в том, чтобы вращать круговой узел, как колесо, приводимое в движение двигателем, например, при вращении по часовой стрелке колесо будет двигаться вправо из-за трения о пол.
В соответствии с другими нитями способ вращенияSKPhysicsBody - вращать тело, к которому он прикреплен.
Этот код вращает спрайт, но не физическое тело. Как мне решить эту проблему?
let circle = SKSpriteNode(imageNamed: ”circle")
circle.position = CGPoint(x: size.width * 0.5, y: size.height * 0.9)
circle.physicsBody = SKPhysicsBody(circleOfRadius: circle.frame.width/2)
if let physics = circle.physicsBody {
physics.affectedByGravity = true
physics.allowsRotation = true
physics.restitution = 0.2
physics.friction = 1.0
physics.isDynamic = true;
physics.mass = 10
}
addChild(circle)
let rotateAction = SKAction.rotate(byAngle: .pi, duration: 1.0)
let repeatAction = SKAction.repeatForever(rotateAction)
circle.run(repeatAction)
PS. Этот способ создания тела не работает в iOS 13, но не должен влиять на результат.
circle.physicsBody = SKPhysicsBody(texture: SKTexture(imageNamed: ”circle"), size: circle.size)