zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    利用Python和webhook实现自动提交代码
    Python threading 单线程 timer重复调用函数
    Python requests 使用心得
    openresty实现接口签名安全认证
    使用jedis面临的非线程安全问题
    记一次线上升级openresty中kafka版本产生的多版本兼容问题
    mysql中走与不走索引的情况汇集(待全量实验)
    Elasticsearch深分页以及排序查询问题
    IO多路复用:Redis中经典的Reactor设计模式
    Netty在Dubbo中的使用过程源码分析
  • 原文地址:https://www.cnblogs.com/LiLihongqiang/p/5840645.html
Copyright © 2011-2022 走看看