05-Tom猫

ViewController.h文件中:

1 @interface ViewController : UIViewController
2
3 @property (weak, nonatomic) IBOutlet UIImageView *tomImg;
4 - (IBAction)btnClick:(UIButton *)sender;
5
6 @end

ViewController.m文件中:

#import "ViewController.h"

@interface ViewController ()
{
    NSDictionary *_dicPicResoure; // 记录图片分组的个数
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    // 获取tom.plist的全路径
    NSString *path = [[NSBundle mainBundle] pathForResource:@"tom" ofType:@"plist"];

    // 根据文件路径加载字典
    _dicPicResoure = [NSDictionary dictionaryWithContentsOfFile:path];
}

- (IBAction)btnClick:(UIButton *)sender {

  // 如果正在播放,直接返回
    if (_tomImg.isAnimating) {
        return;
    }

    // 取出按钮文字
    NSString *prefixName = [sender titleForState:UIControlStateNormal];

    // 获取图片数量
    int count = [_dicPicResoure[prefixName] intValue];

    // 调用播放动画方法
    [self playWithPicCount:count andPrefixName:prefixName];
}

- (void)playWithPicCount:(int)count andPrefixName:(NSString *)name
{
    // 创建可变数组 存储图片对象
    NSMutableArray *aryImg = [NSMutableArray array];

    // 添加图片
    for (int i = 0; i < count; ++i) {
        NSString *picName = [NSString stringWithFormat:@"%@_d.jpg", name, i];

        // 加载数据(缓存)
//        UIImage *img = [UIImage imageNamed:picName];

        NSString *path = [[NSBundle mainBundle] pathForResource:picName ofType:nil];
        UIImage *img = [UIImage imageWithContentsOfFile:path];

        [aryImg addObject:img];
    }

    // 设置动画图片(有顺序)
    _tomImg.animationImages = aryImg;

    // 只播放一次
    _tomImg.animationRepeatCount = 1;

    // 设置动画的持续时间
    _tomImg.animationDuration = 0.1 * count;

    // 开始动画
    [_tomImg startAnimating];
}
@end

界面效果图:

时间: 2024-12-15 13:27:23

05-Tom猫的相关文章

iOS开发基础-序列帧动画之Tom猫

新建一个Single View Application,向该工程中导入Tom猫的图片资源,本示例演示Tom猫喝牛奶的动作.图片的名字为 drink_00.jpg.drink_01.jpg.....drink_80.jpg . 向 Main.storyboard 中添加 UIImageView ,将图片 drink_00.jpg 作为默认显示的画面.将该控件与 ViewController 类建立一个 IBOutlet 连接,属性名为: @property (weak, nonatomic) IB

通过开源项目SoundTouch实现类似Tom猫的变声功能

SoundTouch是一个开源的音频处理库,用于改变音频流或音频文件的节奏.音调和播放速率. 通过调节Tempo.Pitch和Playback Rate可以实现类似Tom猫的变声效果,对于这三个参数官方的解释如下: Tempo(时间段):在不影响声音音调的前提下改变音频播放的快.慢节奏. Pitch(关键指标):在保持原有节奏(速度)的前提下改变音调: Playback Rate:同时改变节奏和音调. SoundTouch开源项目的地址参见:SoundTouch Library 本文介绍通过调节

TOM猫

=== #import "CHViewController.h" @interface CHViewController () @end @implementation CHViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void) playAnimation:(i

【iOS开发-45】Tom猫案例:动画、imageNamed与imageWithContentOfFile对内存影响、图片文件夹放哪儿以及文档注释

今天tom猫案例效果: (1)最傻最笨的办法: --所有的点击都是按钮,只不过有6个有图标的按钮,有些头部.左右脚.肚子.尾巴那块也是一个按钮,只不过没背景没文字没边框的按钮用户按不到而已. --这里的帧动画核心是UIImageView对象的一个属性animationImages,这个属性里面是以数组形式存放的图片.当然还有个重要的方法startAnimating用来播放前面那个属性里面的图片,就形成动画.再当然一下,还有设置时间和播放次数的属性. 注意点: --我们一般把图片放在Images.

ios的UIImage的两种不同的图片加载方式 tom猫

在ios的UI交互设计时,对图片的处理是难免的:不同的处理方式会对内存有不同的影响: ************************************************************ a:图片格式及NSBundle加载全路径: 1>xcode或者说苹果官方是极力推荐使用的图片格式是png 2>所有如果项目中用得是png的图片,则不用写后缀名 3>其他格式要求后缀名,特别是用UIImage加载图片时 NSBundle加载全路径的常用代码: ? 1 2 3 4 //

ios学习03-制作简单的tom猫

学习了一个小时时间的tom猫小游戏,主要是学习UIImageview的动画属性,现在记录下新学习到的知识点. 主要知识点有: 1.UIImageview的各种动画方法设置 2.NSMutableArray 3.UIImage imageNamed:imageName 和 [UIImage imageWithContentsOfFile:path]的区别 界面就是我们以前玩过的tom猫游戏,点击它的一些位置,会表现不同的动作,这其实用到的是UIImageview的连续图片显示动画的知识点,代码如下

猫猫学IOS(四)UI之半小时搞定Tom猫

话不多说 先上效果 项目源码素材下载地址: Tom猫游戏代码iOS 素材http://blog.csdn.net/u013357243/article/details/44457357 效果图 曾经风靡一时的tom猫其实制作起来那是叫一个相当的easy啊 功能全部实现,(关键是素材,没有素材的可以加我微信) 新手也可以很快的完成tom这个很拉轰的ios应用哦 做过android的我表示,android党默哀下把,那个做起来真心痛苦.... 然后呢你需要准备这些素材... 拖拽控件吧,因为这一个项

Tom猫游戏代码iOS 素材

下载地址:http://download.csdn.net/detail/u013357243/8514915 下面是运行图片展示 制作思路以及代码解析 猫猫学IOS(四)UI之半小时搞定Tom猫这里写链接内容 源码下载地址在这里:-------------------------------------------------- 下载地址:http://download.csdn.net/detail/u013357243/8514915 下载地址:http://download.csdn.n

iOS开发UI篇----UI基础之Tom猫动画

#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIImageView *imageView; // 定义字典读取plist文件 @property (nonatomic, strong) NSDictionary *imageCountDict; @end @implementation ViewController // 懒加载, 重写get方法

使用Objective-c实现Tom猫《二》

2.选择 createfolder references for any folders,文件夹是蓝色,运行程序时,他会在Bundel中再细分文件夹(以下图为例:运行程序后会在Bundel包中再细分Animations/--) */把素材(素材存放在Animations中,Animations又细分Angry,Drink-)从finder中拉倒Supporting Files,按如下图所示打钩, 1 #import "LFViewController.h" 2 3 @interface