IOS开发NSTimer动画

点击按钮后,将屏幕中地步的小飞机,话费2秒钟的时间,竖直向上飞到距离屏幕顶部100的位置                                             
公式:当前值 = 开始值 + 当前帧数*(结束值-开始值)/(帧率*动画时长)。                                                             
值: alpha   frame   center



@property (weak,nonatomic) IBOutlet UIImageView *imageView;    

//小飞机图片,   连的线

@property(nonatomic,assign)NSInteger count;

//帧数

@property(nonatomic,assign)CGPoint startCenter;


#define FPS 30.0    //帧率

#define DURATION  2.0   //动画时长


点击开始动画按钮

-(IBAction)start:(id)sender {

      [NSTimer scheduledTimerWithTimeInterval:1/FPS target:self  selector:@selector(move:) userInfo:nil  repeats:YES];

}

-(void)move:(NSTimer *)timer

     self.count++;

     CGPoint center = self.imageView.center;

     center.y = self.startCenter.y + self.count (100 - self.startCenter . y ) /(FPS * DURATION);

      self.imageView.center = center;

       if (self.count == FPS * DURATION) {

        [timer  invalidate];

        NSLog(@"......");

      }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值