CXAnimation类

#include "XAnimation.h"


CXAnimation::CXAnimation(void)
{
    m_strName = "";
    m_nFrameCount = 0;
    m_fInterval = 0.0f;
}

CXAnimation::~CXAnimation()
{

}

CXAnimation* CXAnimation::create( const char* psName, int nBegan, int nCount, float delayPerUnit /*= 1.0*/ )
{
    CXAnimation* pAnimation = new CXAnimation();
    if(pAnimation->init(psName, nBegan, nCount, delayPerUnit))
    {
        pAnimation->autorelease();
        return pAnimation;
    }
    else
    {
        SAFE_DELETE(pAnimation);
    }

    return NULL;
}

bool CXAnimation::init( const char* psName, int nBegan, int nCount, float delayPerUnit /*= 1.0*/ )
{
    m_strName = psName;
    m_fInterval = delayPerUnit;
    m_nFrameBegan = nBegan;
    m_nFrameCount = nCount;
    
    char psFrameName[128] = {0};

    CCArray* animFrames = CCArray::create();
    for (int i = nBegan; i <= nCount; i++)
    {
        sprintf(psFrameName,"%s%02d.png", psName, i);
        CCSpriteFrame* pFrame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(psFrameName);
        ASSERT(pFrame);
        if (pFrame)
        {
            animFrames->addObject(pFrame);
        }
        else
        {
            CCLog("Load Animation faild:%s\n", psName);
            SAFE_DELETE(animFrames);
            return false;
        }

    }
    this->initWithSpriteFrames(animFrames, delayPerUnit);
    return true;
}


float CXAnimation::getInterval()
{
    return m_fInterval;
}

float CXAnimation::getDuration()
{
    return m_fInterval * m_nFrameCount;
}

const char* CXAnimation::getAnimationName()
{
    return m_strName.c_str();
}

int CXAnimation::getFrameCount()
{
    return m_nFrameCount;
}

string CXAnimation::getFileName()
{
    return m_strName;
}

//CCSpriteFrame* CXAnimation::firstFrame()
//{
//    return (CCSpriteFrame*)this->getFrames()->objectAtIndex(0);
//}
//
//CCSpriteFrame* CXAnimation::lastFrame()
//{
//    return (CCSpriteFrame*)this->getFrames()->objectAtIndex(this->getFrameCount() - 1);
//}

 

转载于:https://www.cnblogs.com/newlist/p/3155771.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值