ios - 以不同的速度摆动箭头
问题描述
我怎样才能使箭头像这个视频中那样摆动?
到目前为止,我可以像在这个视频中一样使用以下代码来回旋转我的didMove(to:)
节点SKScene
:
// 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
现在你得到了我想要的效果!:)
推荐阅读
- excel - 计数“1”连续出现两次以上的次数,如果最大计数小于 4 - 包括“1”,其中没有连续 - Excel
- scala - 希望根据单独 DF 的值减去一行中的每个值
- flutter - 使用颤振时我无法从云火库中获取数据
- android - Android Studio 无法解析 androidx 符号
- mongodb - 官方 mongo docker 映像无法通过 volumen 使用自定义文件
- python - Python包根据关键字从文本文件中提取句子
- r - 如何制作一个显示开始和结束日期的图
- button - Joomla 网站按钮将 hastag 放入 url 并且不起作用(Joomshaper)
- c++ - 为异构宇宙飞船运算符定义综合了哪些相等/比较运算符?
- python - 如何将用户输入的文本存储到变量中?