我怎样才能使箭头像在this video中那样摆动?
到目前为止,我可以使用didMove(to:)
中的以下代码在this video中来回旋转节点:
// Ball
let ballNode = SKSpriteNode(imageNamed: "Ball")
let offsetFromCorner: CGFloat = 20
ballNode.position = CGPoint(x: frame.minX + ballNode.size.width / 2 + offsetFromCorner, y: frame.minY + ballNode.size.height / 2 + offsetFromCorner)
addChild(ballNode)
/* ... */
// Aim arrow
let aimArrowNode = SKSpriteNode(imageNamed: "AimArrow")
aimArrowNode.position.y += aimArrowNode.size.height / 2
ballNode.addChild(aimArrowNode)
ballNode.zRotation = -.pi / 18 * 8
let rotateUp = SKAction.rotate(toAngle: -.pi / 18, duration: 1)
let rotateDown = SKAction.rotate(toAngle: -.pi / 18 * 8, duration: 1)
let combinedActions = SKAction.sequence([rotateUp, rotateDown])
ballNode.run(SKAction.repeatForever(combinedActions))
但是,我希望箭头在靠近边缘时看起来“减速”。我怎样才能做到这一点?
如果你有任何问题,请问!
最佳答案
幸运的是,答案实际上内置在SKAction
中。
创建操作后,只需添加以下内容:
rotateUp.timingMode = .easeInEaseOut
rotateDown.timingMode = .easeInEaseOut
现在你得到了我想要的效果!:)
关于ios - 以可变速度摆动箭头,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52909331/