cocos2d 播放GIF动画类

Posted 李洪强

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos2d 播放GIF动画类相关的知识,希望对你有一定的参考价值。

cocos2d 播放GIF动画类

以前项目中曾经用到过,后来因为GIF图像的质量较差,被弃用了,把公司名字去掉分享下,根据网上资料改编的cocos2d-iphone版的。

复制代码
//
//  CCSpriteGif.h
//
//  Created by Yuming on 13-1-23.
//  Copyright 2013年 __MyCompanyName__. All rights reserved.
//

// 本类需要导入ImageIO.framework

#import <Foundation/Foundation.h>
#import "cocos2d.h"
#import <ImageIO/ImageIO.h>

@interface CCSpriteGif : CCSprite {
    CGImageSourceRef m_gifSourceRef;                // gif动画
    NSDictionary* m_gifProperties;                  // gif动画属性
    unsigned int m_loopCount;                       // gif动画循环的总帧数
    unsigned int m_startIndex;                      // gif动画播放开始的帧序号
    float m_playTime;                                           // gif播放总时间
}

@property (nonatomic) float playTime;

/**
 *    @brief    通过播放次数初始化GIF动画
 *
 *    @param     path     GIF动画的文件路径
 *    @param     count     播放次数
 *    @param     interval     每帧播放的时间间隔
 *    @param     delay     延时delay时间后开始播放
 *    @param     startIndex     开始播放的帧索引,可以不从第一帧放
 *
 *    @return    同init
 */
- (id)initWithGifFile:(NSString*)path andPlayCount:(unsigned int)count andInterval:(float)interval andDelay:(ccTime)delay andStartIndex:(unsigned int)startIndex;

/**
 *    @brief    通过播放时间初始化GIF动画
 *
 *    @param     path     GIF动画的文件路径
 *    @param     playTime     播放动画总时间
 *    @param     interval     每帧播放的时间间隔
 *    @param     delay     延时delay时间后开始播放
 *    @param     startIndex     开始播放的帧索引,可以不从第一帧放
 *
 *    @return    同init
 */
- (id)initWithGifFile:(NSString*)path andPlayTime:(float)playTime andInterval:(float)interval andDelay:(ccTime)delay andStartIndex:(unsigned int)startIndex;

/**
 *    @brief    重新播放GIF动画
 *
 *    @param     count     播放次数
 *    @param     interval     每帧播放的时间间隔
 *    @param     delay     延时delay时间后开始播放
 *    @param     startIndex     开始播放的帧索引,可以不从第一帧放
 */
- (void)replayGifCount:(unsigned int)count andInterval:(float)interval andDelay:(ccTime)delay andStartIndex:(unsigned int)startIndex;

/**
 *    @brief    停止GIF动画播放
 */
- (void)stopGif;

@end

以上是关于cocos2d 播放GIF动画类的主要内容,如果未能解决你的问题,请参考以下文章

能够播放gif动画的ImageView

使用 Tkinter 在 GIF 中播放动画 [重复]

动画 gif 不播放 - 鼠标侦听器 - 事件鼠标输入

Android开发之ImageView播放GIF动画实例

Cocos2D 动画问题

自己定义View时,用到Paint Canvas的一些温故,简单的帧动画(动画一 ,&quot;掏粪男孩Gif&quot;顺便再提提onWindowFocusChanged)(代码片段