//CCSprite+Animation.h
#import "CCSprite.h" @interface CCSprite (Animation) + (void)fadeWithOldSprite:(CCSprite *)oldSprite newSprite:(CCSprite *)newSprite callFuncTarget:(id)target callFuncAction:(SEL)action fadeDuration:(NSTimeInterval)duration;
@end //CCSprite+Animation.m
#import "CCSprite+Animation.h"
#import "CCActionInterval.h"
#import "CCActionInstant.h" @implementation CCSprite (Animation) + (void)fadeWithOldSprite:(CCSprite *)oldSprite newSprite:(CCSprite *)newSprite callFuncTarget:(id)target callFuncAction:(SEL)action fadeDuration:(NSTimeInterval)duration
{
[oldSprite.parent addChild:newSprite z:oldSprite.zOrder];
CCFadeOut *fadeOut = [CCFadeOut actionWithDuration:duration];
CCCallFunc *callFunc = [CCCallFunc actionWithTarget:target selector:action];
CCSequence *sequence = [CCSequence actionWithArray:@[fadeOut, callFunc]];
[oldSprite runAction:sequence]; CCFadeIn *fadeIn = [CCFadeIn actionWithDuration:duration];
[newSprite runAction:fadeIn];
}
@end

实现3秒切换图片

- (void)startToFadeSprite
{
static NSString *imageNames[] = {
@"sample_img@2x.png",
@"sample_img2@2x.png",
@"sample_img3@2x.png",
@"sample_img4@2x.png"
};
static NSInteger index = ;
static NSInteger imageCount = ; if (index == imageCount) {
index = ;
} if (fading == NO) {
fading = YES;
photoTemp = [CCSprite spriteWithFile:imageNames[index]];
photoTemp.textureRect = photo.textureRect;
photoTemp.anchorPoint = photo.anchorPoint;
photoTemp.position = photo.position;
photoTemp.scaleX = photo.scaleX;
photoTemp.scaleY = photo.scaleY;
[CCSprite fadeWithOldSprite:photo newSprite:photoTemp callFuncTarget:self callFuncAction:@selector(fadeFinished) fadeDuration:0.3];
index++;
}
} - (void)fadeFinished
{
[self removeChild:photo];
photo = photoTemp;
fading = NO; CCDelayTime *delay = [CCDelayTime actionWithDuration:2.7];
CCCallFunc *callFunc = [CCCallFunc actionWithTarget:self selector:@selector(startToFadeSprite)];
[self runAction:[CCSequence actions:delay, callFunc, nil]];
} //init
photo = [CCSprite spriteWithFile:@"sample_img@2x.png"];
[self addChild:photo]; //just after
[self startToFadeSprite];

CCSprite: fade 效果切换图片的更多相关文章

  1. javascript设计模式实践之职责链--具有百叶窗切换图片效果的JQuery插件(三)

    在上一篇<javascript设计模式实践之模板方法--具有百叶窗切换图片效果的JQuery插件(二)>里,通过采用模板方法模式完成了切换效果对象的构建编写. 接下来就是完成各效果对象的调 ...

  2. javascript设计模式实践之模板方法--具有百叶窗切换图片效果的JQuery插件(二)

    在上一篇<javascript设计模式实践之迭代器--具有百叶窗切换图片效果的JQuery插件(一)>里,通过采用迭代器模式完成了各初始化函数的定义和调用. 接下来就要完成各个切换效果的编 ...

  3. javascript设计模式实践之迭代器--具有百叶窗切换图片效果的JQuery插件(一)

    类似于幻灯片的切换效果,有时需要在网页中完成一些图片的自动切换效果,比如广告,宣传,产品介绍之类的,那么单纯的切就没意思了,需要在切换的时候通过一些效果使得切换生动些. 比较常用之一的就是窗帘切换了. ...

  4. jQuery旋转木马仿3D效果的图片切换特效代码

    用jQuery实现的一款仿3D效果的图片切换特效代码,类似旋转木马一样,幻灯图片以三维视觉上下滑动切换,效果很酷炫,兼容IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜 ...

  5. jQuery演示10种不同的切换图片列表动画效果

    经常用到的图片插件演示jQuery十种不同的切换图片列表动画效果 在线演示 下载地址 实例代码 <!DOCTYPE html> <html lang="en" c ...

  6. jQuery演示10种不同的切换图片列表动画效果以及tab动画演示 2

    很常用的一款特效纯CSS完成tab实现5种不同切换对应内容效果 实例预览 下载地址 实例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...

  7. Core Animation一些Demo总结 (动态切换图片、大转盘、图片折叠、进度条等动画效果)

    前一篇总结了Core Animation的一些基础知识,这一篇主要是Core Animation 的一些应用,涉及到CAShapeLayer.CAReplicatorLayer等图层的知识. 先看效果 ...

  8. 自动播放——幻灯片缓冲效果&&带Loading效果的图片切换&&移动效果(按轨迹移动)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. jQuery实现多种切换效果的图片切换的五款插件

    1:Nivo SliderNivoslider:丰富的图片切换效果 官方网址:https://themeisle.com/plugins/nivo-slider 查看演示:https://www.he ...

随机推荐

  1. JAVA-JSP内置对象之session范围

    相关资料:<21天学通Java Web开发> session范围1.就是指客户浏览器与服务器一次会话范围内,如果和服务器断开连接,那么这个属性也就失效了.2.通过使用session的set ...

  2. Faiss教程:索引(1)

    索引是faiss的关键知识,我们重点介绍下. 索引方法汇总 有些索引名,我就不翻译了,根据英文名去学习更准确. 索引名 类名 index_factory 主要参数 字节数/向量 精准检索 备注 精准的 ...

  3. 基于HTML5手机上下滑动翻页特效

    基于HTML5手机上下滑动翻页特效.这是一款手机移动端触屏滑动翻页代码下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <section class="u-al ...

  4. order by name 注入

    order by name id id是一个注入点 可以利用if语句进行注入 order by name ,if(1=1,1,select 1 from information_schema.tabl ...

  5. mysql 通过使用联全索引优化Group by查询

    /*SELECT count(*) FROM (*/ EXPLAIN SELECT st.id,st.Stu_name,tmpgt.time,tmpgt.goutong FROM jingjie_st ...

  6. MongoDB阅读精要

    部署:MongoDB服务端可运行在Linux.Windows或IOS平台,支持32位和64位应用,默认端口为27017.推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2 ...

  7. ELK(Logstash+Elasticsearch+Kibana)的原理和详细搭建

    一. Elastic Stack Elastic Stack是ELK的官方称呼,网址:https://www.elastic.co/cn/products ,其作用是“构建在开源基础之上, Elast ...

  8. android开发(40) 初试 Volley - GoogleI02013上的“快速,简单的网络通讯库”

    什么是Volley Google I/O 2013上,Volley发布了.Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮.这是Volley名称的由来: a burst ...

  9. 两种常用的jquery事件加载的方法 的区别

    两种常用的jquery事件加载的方法   $(function(){});  window.onload=function(){}  第一个呢,是在DOM结构渲染完成以后调用的,这时候网页中一些资源还 ...

  10. SpringBoot2 【关于:Table 'XXX.hibernate_sequence' doesn't exist】

    将ID生成略组改成@GeneratedValue(strategy = GenerationType.IDENTITY).