我正在尝试为从左到右在屏幕上移动的波浪设置动画,同时我希望它可以稍微向上和向下移动。这是代码:
UIView.animateWithDuration(2.5, delay: 0,
options: .Repeat | .Autoreverse, animations: {
self.wavesImg.center.y += 50
self.wavesImg.center.x -= self.wavesImg.image!.size.width/7
}, completion: nil)
当前,它只执行最后一个动画,因此它只能从左到右移动。如何使它上下移动?
最佳答案
为什么不只将y应用于y以使其自然波动
UIView.animateWithDuration(2.5, delay: 0,
options: .Repeat | .Autoreverse, animations: {
self.wavesImg.center.y += 50 * sin(self.wavesImg.center.x)
self.wavesImg.center.x -= self.wavesImg.image!.size.width/7
}, completion: nil)
我不确定您要如何处理正弦中的值,现在我将每个x值都视为1弧度,因为sin函数采用了弧度,但是您可能想要更改它以适合您的需求。 (也就是说,如果您希望波从0开始,然后在x为10时向上然后向下回到0,则可能会执行sin((x / 10)* PI)之类的操作。
关于swift - 尝试快速在x和y字段中移动图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33178518/