标签:
源码地址:http://download.csdn.net/detail/swanzhu/8970029
1 定时器加动画版
//
//  ZYViewController.m
//  ChongYongXuehua1
//
//  Created by mac on 15-8-6.
//  Copyright (c) 2015年 zhiyou. All rights reserved.
//
#import "ZYViewController.h"
@interface ZYViewController ()
@end
@implementation ZYViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
	
    UIImageView  *backImageView=[[UIImageView alloc] initWithFrame:self.view.frame];
    
    backImageView.image=[UIImage imageNamed:@"bg.png"];
    [self.view addSubview:backImageView];
//    全局变量
    array=[[NSMutableArray alloc] initWithCapacity:0];
    
    for (int i=0; i<10; i++) {
        UIImageView *snowImageView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"flake.png"]];
        snowImageView.frame=CGRectMake(30, -30, 30, 30);
        snowImageView.tag=1;
        [array addObject:snowImageView];
        [self.view addSubview:snowImageView];
    }
    
    
    [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(onTimer) userInfo:nil repeats:YES];
    
    
}
-(void)onTimer
{
  
    for (int i=0; i<array.count; i++) {
        UIImageView *snow=[array objectAtIndex:i];
        
        if (snow.tag==1) {
            
            snow.tag=2;
            snow.frame=CGRectMake(arc4random()%290, -30, 30, 30);
            
            [UIView beginAnimations:nil context:(__bridge void *)(snow)];
            [UIView setAnimationDuration:3];
            
            [UIView setAnimationDelegate:self];
            [UIView setAnimationDidStopSelector:@selector(a:b:c:)];
            
            snow.frame=CGRectMake(arc4random()%290, 450, 30, 30);
            
            [UIView commitAnimations];
            
            break;
        }
    }
    
}
-(void)a:(NSString *)name  b:(NSNumber *)num c:(void *)context
{
    UIImageView *snow=(__bridge UIImageView *)(context);
    snow.tag=1;
    
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
@end
#import "ZYViewController.h"
@interface ZYViewController ()
@end
@implementation ZYViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
	UIImageView  *backImageView=[[UIImageView alloc] initWithFrame:self.view.frame];
    
    backImageView.image=[UIImage imageNamed:@"bg.png"];
    [self.view addSubview:backImageView];
    
    array=[[NSMutableArray alloc] initWithCapacity:0];
    
    for (int i=0; i<10; i++) {
        UIImageView *snowImageView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"flake.png"]];
        snowImageView.frame=CGRectMake(30, -30, 30, 30);
        snowImageView.tag=1;
        [array addObject:snowImageView];
        [self.view addSubview:snowImageView];
    }
    
    
    [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(onTimer) userInfo:nil repeats:YES];
    
    
}
-(void)onTimer
{
    static int count=0;
    
    if (count%20==0) {
        for (int i=0; i<array.count; i++) {
            UIImageView *snow=[array objectAtIndex:i];
            if (snow.tag==1) {
                snow.tag=2;
                snow.frame=CGRectMake(arc4random()%290, -30, 30, 30);
                break;
            }
        }
   
    }
         count++;
   
    
    for (UIImageView *snow2 in array) {
        if (snow2.tag==2) {
            snow2.frame=CGRectMake(arc4random()%290, snow2.frame.origin.y+5, 30, 30);
            
            
            if (snow2.frame.origin.y>510) {
                snow2.tag=1;
            }
        }
    }
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
#import "ZYViewController.h"
@interface ZYViewController ()
@end
@implementation ZYViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
	UIImageView  *backImageView=[[UIImageView alloc] initWithFrame:self.view.frame];
    
    backImageView.image=[UIImage imageNamed:@"bg.png"];
    [self.view addSubview:backImageView];
    
    array=[[NSMutableArray alloc] initWithCapacity:0];
    
    for (int i=0; i<10; i++) {
        UIImageView *snowImageView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"flake.png"]];
        snowImageView.frame=CGRectMake(30, -30, 30, 30);
        snowImageView.tag=1;
        [array addObject:snowImageView];
        [self.view addSubview:snowImageView];
    }
    
    
    [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(onTimer) userInfo:nil repeats:YES];
    
    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(Timer) userInfo:nil repeats:YES];
}
-(void)onTimer
{
    
    static int count=0;
    
    if (count%30==0) {
        for (int i=0; i<array.count; i++) {
            UIImageView *snow=[array objectAtIndex:i];
            
            
            if (snow.tag==1) {
                snow.tag=2;
                
                snow.frame=CGRectMake(arc4random()%290, -30, 30, 30);
                
                break;
            }
        }
        
    }
    count++;
  
    
    
}
-(void)Timer
{
    for (int i=0; i<array.count; i++) {
     
        UIImageView *snow=[array objectAtIndex:i];
        
        if (snow.tag==2) {
            snow.frame=CGRectMake(arc4random()%290, snow.frame.origin.y+5, 30, 30);
        }
        
        if (snow.frame.origin.y>480) {
            snow.tag=1;
        }
    }
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/swanzhu/article/details/47322397