Tom汤姆猫的简单实现

//

//  ViewController.m

//  TomCat

//

//  Created by 黄松凯 on 15/2/17.

//  Copyright (c) 2015年 SK. All rights reserved.

//

#import "ViewController.h"

@interface ViewController ()

- (IBAction)drink;

- (IBAction)head;

- (IBAction)cymbal;

- (IBAction)fart;

- (IBAction)scratch;

- (IBAction)eat;

- (IBAction)pie;

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

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

}

//将方法进行封装,可以

-(void)runAnimationWithCount:(int)count name:(NSString *)name

{

if(self.tom.isAnimating)//如果正在喝牛奶,则不要打断

return;

//加载所有的动画图片

NSMutableArray *images=[NSMutableArray array];

for(int i=0;i<count;i++)

{

//文件名

NSString *filename=[NSString stringWithFormat:@"%@_%02d.jpg",name,i];

//加载图片(这种方法有缓存,不利用内存优化)

// UIImage *image=[UIImage imageNamed:filename];

//添加图片到数组中

//[images addObject:image];

NSBundle *bundle=[NSBundle mainBundle];

NSString *path=[bundle pathForResource:filename ofType:nil];

UIImage *image=[UIImage imageWithContentsOfFile:path];

[images addObject:image];

}

self.tom.animationImages=images;

//设置播放次数

self.tom.animationRepeatCount=1;

//设置播放时间

self.tom.animationDuration=2.0;

//开始播放

[self.tom startAnimating];

CGFloat delay=self.tom.animationDuration+1;

[self.tom performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:delay];

}

- (IBAction)drink

{

[self runAnimationWithCount:81 name:@"drink"];

}

- (IBAction)head {

[self runAnimationWithCount:81 name:@"knockout"];

}

- (IBAction)cymbal {

[self runAnimationWithCount:13 name:@"cymbal"];

}

- (IBAction)fart {

[self runAnimationWithCount:28 name:@"fart"];

}

- (IBAction)scratch {

[self runAnimationWithCount:56 name:@"scratch"];

}

- (IBAction)eat {

[self runAnimationWithCount:40 name:@"eat"];

}

- (IBAction)pie {

[self runAnimationWithCount:24 name:@"pie"];

}

@end

时间: 2024-10-14 20:31:35

Tom汤姆猫的简单实现的相关文章

156 UIImageView 和 CADisplayLink 实现 Tom 汤姆猫动画效果的区别(扩展知识:分组(黄色文件夹)和文件夹引用(蓝色文件夹)区别)

关键操作: 效果如下: ViewController.h 1 #import <UIKit/UIKit.h> 2 3 @interface ViewController : UIViewController 4 @property (strong, nonatomic) UIImageView *imgVAnimation; 5 @property (strong, nonatomic) CADisplayLink *displayLink; 6 7 @end ViewController.m

IOS 开发笔记-基础 UI(7)汤姆猫(UIImageView 的序列帧动画、图片加载,方法重构、Bundle 图片素材)

使用UIImageView.UIButton实现一个综合小案例---汤姆猫 回忆:UIImageView 来自UIView,UIView 来自UIResponder,UIButton 来自UIControl,UIControl 来自UIView 单独看实现,代码实现其实比较简单,但是创意很难得,美工要求很高! 是一个了不起的游戏! 功能分析 (1)点击对应的按钮后,让汤姆猫展现对应的动画 步骤分析 (1)搭建UI界面,同时也是准备素材 (2)监听按钮点击 (3)根据点击的按钮执行对应的动画 说明

IOS 学习04 汤姆猫开发

IOS开发,一个简单的汤姆猫开发,截图如下: 1.1以前一直觉得这个小游戏不错,很好玩,现在学习IOS才发现其实这个程序真心很简单,其实这个还不是个完整,还没有声音,以后再来完整. 1.2 创建项目,导入图片,在项目images.xcassets中保存PNG图片,这里只保存6个按键图片,图片文件直接拉进就可以,如下图: 1.3 相信大多数人都玩过这个小游戏,其实这就是一个动画,而动画就是由多个图片连在一起播放的,最后看起来就是动画了. 1.4 知道了动画的原理,那就好办了,我们再来导入按键相对应

[UI基础][不会说话的汤姆猫]

会说话的汤姆猫这个APP层级风靡一时,其UI部分就是利用了序列动画的技术, 接下来 我们用汤姆猫来演示怎么制作序列动画. [要求]: 1.学会使用序列动画的方法 2.学会分析动画播放中内存占用高的问题,并解决 [实现] 1.搭建UI界面 1.1.设置模拟器的屏幕尺寸3.7,添加素材 我们的素材文件是是按照3.7Inch的大小,设置屏幕大小为3.7Inch,添 加动画的素材到工程. 2.2.添加控件 2.2.1.添加背景图片 我们用ImageView控件来实现动画,首先添加一个UIViewImag

[iOS基础控件 - 3.4] 汤姆猫

需求: 1.点击按钮播放相应动画 2.点击汤姆猫身体部分(头.脚.尾巴)显示动画 3.当前正在播放动画不可触发其他动画 4.优化缓存.内存管理 A.序列帧动画 #1. png格式的文件可以不带扩展名访问,而且可以放到”Images.scassets”的组中预览,jpg只能放到support file中了,而且访问的时候要写上扩展名 #2. 在ViewController中的属性栏可以设置storyboard模型的大小 #3. 拖入文件夹的时候要选择“Create Groups"才能正确引用,不要

unity汤姆猫自动检测录音,不说话自动播放

unity汤姆猫自动检测录音,不说话自动播放 脚本 using System.Collections.Generic; using System.Linq; using UnityEngine; [RequireComponent(typeof(AudioSource))] public class MicrophoneInput : MonoBehaviour { //每秒种产生0.4M数据量 private LinkedList<float> recordData = new Linked

声音变调算法PitchShift(模拟汤姆猫) 附完整C++算法实现代码

上周看到一个变调算法,挺有意思的,原本计划尝试用来润色TTS合成效果的. 实测感觉还需要进一步改进,待有空再思考改进方案. 算法细节原文,移步链接: http://blogs.zynaptiq.com/bernsee/pitch-shifting-using-the-ft/ C++开源的项目,比较老的一个项目了. 源码下载地址: http://blogs.zynaptiq.com/bernsee/download/ 本人对这份算法源码进行简单的优化调整. 稍微提升了一点性能. 修改后的完整代码:

在汤姆猫上运行服务

1.cd /usr/local/tomcat/ 2.在此基础上可以创建几个目录,分别叫/tomcat/webapps,在webapps创建libincla目录,并在此目录下分别创建/WEB-INF和并在WEB-INF之下分别创建/classes和/lib,代表我们要部署一个服务了. mkdir /tomcat/webapps –pv cd webapps mkdir libincla [[email protected] libincla]# tree WEB-INF/ WEB-INF/ ├──

汤姆猫游戏核心代码 ios/objective-c

#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIImageView *tomImageView; @end @implementation ViewController //敲汤姆猫的头部.前提:一系列动画已经导入. (IBAction)btnKnockOutonclicked:(UIButton *)sender{ [self tomImate