//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. uboot第一阶段关键位置分析

    /* * the actual reset code */ reset: /* * set the cpu to SVC32 mode */ mrs r0,cpsr bic r0,r0,#0x1f o ...

  2. Silverlight跨域访问wcf

    添加文件名为“clientaccesspolicy.xml”的文件 内容: <?xml version="1.0" encoding="utf-8"?&g ...

  3. Android Studio占用C盘内存

    使用Android Studio的时候,会发现,在各种下载导入的时候,C盘内存耗费的非常的快,于是我看了下配置.

  4. 轻松学习JavaScript二十七:DOM编程学习之事件模型

    在介绍事件模型之前,我们先来看什么是事件和什么是event对象. 一事件介绍 JavaScript事件是由訪问Web页面的用户引起的一系列操作,使我们有能力创建动态页面.事件是能够被 JavaScri ...

  5. C# DIctionary:集合已修改,可能无法执行枚举操作

    C#中直接对集合Dictionary进行遍历并修改其中的值,会报错,如下代码就会报错:集合已修改;可能无法执行枚举操作.代码如下 public void ForeachDic() { Dictiona ...

  6. LInux 文件系统 tmpfs 分区不显示解决

    因为不小心把 kernel 的 tmpfs 的选项去掉,导致 文件系统内的 tmpfs 分区不显示. kernel 打开如下选项即可 在文件系统内就会有相关显示

  7. Java后端,应该日常翻看的中文技术网站<转>

    你还在学习吗? 1.内容生产者 InfoQ中文技术第一站,佩服霍老板,真金白银地为中国程序员们生产内容. ImportNew专门面向Java的内容生产者兼聚合者,偶然也有些面向入门的小白文. 并发编程 ...

  8. Github ——转

    Github 简明教程 分类 编程技术 如果你是一枚Coder,但是你不知道Github,那么我觉的你就不是一个菜鸟级别的Coder,因为你压根不是真正Coder,你只是一个Code搬运工. 但是你如 ...

  9. Android——BroadcastReceiver

    注释:一般广播不会被阻断,有序广播则会被阻断 注释:这是用动态注册的广播,必须要解绑 xml <?xml version="1.0" encoding="utf-8 ...

  10. Linux下架构高可用性网络----HA+LB+lvs

    实验总拓扑: IP规划: Director1:     eth0      192.168.10.136/28 eth1      192.168.11.2/24 Director2:     eth ...