Я хотел бы попытаться заставить объект перемещаться в зависимости от того, куда пользователь перетаскивает. На данный момент у меня есть круги, движущиеся по кругу с этим кодом:
Как это выглядит (изображение)
let rotateAction = SKAction.rotate(byAngle: 2.0 * CGFloat(M_PI), duration: 8.0)
container.run(SKAction.repeatForever(rotateAction))
А это мой код для создания прямоугольников:
let path = UIBezierPath()
path.move(to: CGPoint(x: 0, y: -200))
path.addLine(to: CGPoint(x: 0, y: -160))
path.addArc(withCenter: CGPoint.zero,
radius: 160,
startAngle: CGFloat(3.0 * M_PI_2),
endAngle: CGFloat(0),
clockwise: true)
path.addLine(to: CGPoint(x: 200, y: 0))
path.addArc(withCenter: CGPoint.zero,
radius: 200,
startAngle: CGFloat(0.0),
endAngle: CGFloat(3.0 * M_PI_2),
clockwise: false)
let section = SKShapeNode(path: path.cgPath)
section.position = CGPoint(x: 0, y: 0)
section.fillColor = .white
section.strokeColor = .white
let section2 = SKShapeNode(path: path.cgPath)
section2.position = CGPoint(x: 0, y: 0)
section2.fillColor = .white
section2.strokeColor = .white
section2.zRotation = CGFloat(M_PI);
container.addChild(section)
container.addChild(section2)
addChild(container)
А когда пользователь перетаскивает:
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
let rotateAction = SKAction.rotate(byAngle: 2.0 * CGFloat(M_PI), duration: 8.0)
container.run(SKAction.repeatForever(rotateAction))
}
Я бы хотел помочь с этим.
Спасибо!