尝试在swift中移动x和y字段中的图像

时间:2015-10-16 19:49:08

标签: swift animation

我正在尝试动画一个从左到右移动屏幕的波动,同时我希望它能够轻微上下移动。下面是代码:

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)

目前,它只执行最后一个动画,所以它只从左向右移动。我怎样才能让它上下移动?

1 个答案:

答案 0 :(得分:1)

为什么不直接将罪应用于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)