oc基本控件2

oc基本控件2_第1张图片

//
//  ViewController.m
//  OcDemoTest
//
//  Created by Mac on 2023/7/14.
//

#import "ViewController.h"



@interface ViewController ()
// label
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
// Use of undeclared identifier
// 全局

@property (nonatomic,strong) NSArray *standImages;
@property (nonatomic,strong) NSArray *samallImages;
@property (nonatomic,strong) NSArray *bigimage;


@end

@implementation ViewController

/***
 图片的两种加载方式
   1.imageNamed:该资源也不会被从内存中干掉
    放到Assets.xcassets的图片 默认有缓存
    使用 场景图片经常使用
  iimageWithcontentsOfFile
  指向它的指针被销毁,该资源会被内存中干掉
   放到项目中的图片没有缓存
 使用场景。不经常用,大批量图片
 */

- (void)viewDidLoad {
    [super viewDidLoad];
    // 1.加载所有站立的图片
//    NSMutableArray *standImages = [NSMutableArray array];
//    for(int i = 0;i<10;i++){
//        // 获取所有图片的名称
//        NSString *imageName = [NSString stringWithFormat:@"stand_%d",i+1];
//        // 创建UIImage
//        UIImage *image = [UIImage imageNamed:imageName];
//        // 装入数组
//        [standImages addObject:image];
//    }
  self.standImages = [self loadAllImagesWithimagePrefix:@"stand" count:10];
    
//    NSMutableArray *samallImages = [NSMutableArray array];
//    for(int i = 0;i<39;i++){
//        // 获取所有图片的名称
//        NSString *imageName = [NSString stringWithFormat:@"xiaozhao3_%d",i+1];
//        // 创建UIImage
//        UIImage *image = [UIImage imageNamed:imageName];
//        // 装入数组
//        [samallImages addObject:image];
//    }
   self.samallImages = [self loadAllImagesWithimagePrefix:@"xiaozhao3" count:39];
//    NSMutableArray *bigimage = [NSMutableArray array];
//    for(int i = 0;i<87;i++){
//        // 获取所有图片的名称
//        NSString *imageName = [NSString stringWithFormat:@"dazhao_%d",i+1];
//        // 创建UIImage
//        UIImage *image = [UIImage imageNamed:imageName];
//        // 装入数组
//        [bigimage addObject:image];
//    }
//    self.bigimage = bigimage;
    
  self.bigimage = [self loadAllImagesWithimagePrefix:@"dazhao" count:87];
    
    // 进来就站立
    [self stand];
    
    
}

// 封装方法
// 加载所有图片
/**
   imagePrefix  名称
    count   数量
 */
-(NSArray *)loadAllImagesWithimagePrefix:(NSString *)imagePrefix count:(int)count{
    NSMutableArray *images = [NSMutableArray array];
    for(int i = 0;i *standImages = [NSMutableArray array];
//    for(int i = 0;i<10;i++){
//        // 获取所有图片的名称
//        NSString *imageName = [NSString stringWithFormat:@"stand_%d",i+1];
//        // 创建UIImage
//        UIImage *image = [UIImage imageNamed:imageName];
//        // 装入数组
//        [standImages addObject:image];
//    }
//     //设置动画图片
//    self.imageView.animationImages = self.standImages;
//    // 设置播放次数
//    self.imageView.animationRepeatCount = 0;
//    // 设置播放时长
//    self.imageView.animationDuration = 0.5;
//    // 播放
//    [self.imageView startAnimating];
    
    //[self stand];
  [self playZhaoWithImage:self.standImages playcount:0 duration:0.5 isStand:YES];
    
}

// 小招
- (IBAction)smallZhao {
    // 加载所有图片
//    NSMutableArray *samallImages = [NSMutableArray array];
//    for(int i = 0;i<39;i++){
//        // 获取所有图片的名称
//        NSString *imageName = [NSString stringWithFormat:@"xiaozhao3_%d",i+1];
//        // 创建UIImage
//        UIImage *image = [UIImage imageNamed:imageName];
//        // 装入数组
//        [samallImages addObject:image];
//    }
    // 设置动画图片
//    self.imageView.animationImages = self.samallImages;
//    // 设置播放次数
//    self.imageView.animationRepeatCount = 1;
//    // 设置播放时长
//    self.imageView.animationDuration = 1;
//    // 播放
//    [self.imageView startAnimating];

    // 释放后站立 延迟
    // Selector方法
    // Object 参数
    // afterDelay 时间
   // [self performSelector:@selector(stand) withObject:nil afterDelay:self.imageView.animationDuration];
    [self playZhaoWithImage:self.samallImages playcount:1 duration:1.5 isStand:NO];
    

    
}

// 大招
- (IBAction)bigZhao{
    // 加载所有图片
//    NSMutableArray *bigimage = [NSMutableArray array];
//    for(int i = 0;i<87;i++){
//        // 获取所有图片的名称
//        NSString *imageName = [NSString stringWithFormat:@"dazhao_%d",i+1];
//        // 创建UIImage
//        UIImage *image = [UIImage imageNamed:imageName];
//        // 装入数组
//        [bigimage addObject:image];
//    }
    // 设置动画图片
//    self.imageView.animationImages = self.bigimage;
//    // 设置播放次数
//    self.imageView.animationRepeatCount = 1;
//    // 设置播放时长
//    self.imageView.animationDuration = 2.0;
//    // 播放
//    [self.imageView startAnimating];

   // [self performSelector:@selector(stand) withObject:nil afterDelay:self.imageView.animationDuration];

   [self playZhaoWithImage:self.bigimage playcount:1 duration:2.0 isStand:NO];
}
// 游戏结束
- (IBAction)gameOver:(id)sender {
    self.standImages = nil;
    self.samallImages = nil;
    self.bigimage = nil;
    self.imageView.animationImages = nil;
    
    
}

-(void)playZhaoWithImage:(NSArray *)images playcount:(NSInteger)playcount duration:(double)duration isStand:(BOOL)isStand{
    self.imageView.animationImages = images;
    // 设置播放次数
    self.imageView.animationRepeatCount = playcount;
    // 设置播放时长
    self.imageView.animationDuration = duration;
    // 播放
    [self.imageView startAnimating];
    
    //站立
    if(!isStand){
        [self performSelector:@selector(stand) withObject:nil afterDelay:self.imageView.animationDuration];

    }
    
}


@end

 

你可能感兴趣的:(oc,ios,objective-c,开发语言)