IOS开发NSTimer动画

本文介绍了一种使用Objective-C编程语言实现的小飞机动画效果。通过定时更新UIView的位置属性,使小飞机从屏幕底部竖直向上飞到指定位置,动画过程平滑且自然。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击按钮后,将屏幕中地步的小飞机,话费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(@"......");

      }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值