iOS 动画二十五:Frame Animations with UIImageView

Frame Animations 设置
penguin.animationImages = walkFrames 
penguin.animationDuration = animationDuration / 3 
penguin.animationRepeatCount = 3
复制代码
  1. animationImages: 存储帧动画的所有帧图像。 walkFrames 在代码中作为包含 UIImage对象的数组在前面已声明,所以这里我们只需要将它分配给 penguin.animationImages 来设置动画帧。

  2. animationDuration: 告诉 UIKit 动画的一次迭代应该持续多长时间; 因为动画将重复三次,所以将其设置为总 animationDuration 时长的三分之一。

  3. animationRepeatCount: 控制动画的重复次数; 在这种情况下,动画将重复三次。

var isLookingRight: Bool = true { 
  didSet { 
       let xScale: CGFloat = isLookingRight ? 1 : -1 
       penguin.transform = CGAffineTransform(scaleX: xScale, y: 1)
       slideButton.transform = penguin.transform
    } 
}
复制代码

此代码将企鹅和滑动按钮的 x 轴刻度设置为 1 或 -1,具体取决于 isLookingRight 的值。 然后设置该变换将触发视图,以便企鹅可以面向正确的方向运动:

在方法 actionLeft() 底部执行动画:

penguin.startAnimating()
复制代码

当调用startAnimating() 时,播放动画:animationImages 数组中的每个帧在 1 秒内总共显示三次。

Translating your view
UIView.animate(withDuration: animationDuration, delay: 0, 
         options: .curveEaseOut,
         animations: { 
               self.penguin.center.x -= self.walkSize.width
         }, completion: nil )
复制代码

设置企鹅每次移动距离。

Playing different frame animations

最终效果图:

demo下载

转载于:https://juejin.im/post/5c419a5de51d45527201a79a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值