bool CSpriteObject::changeState(const string& s, CComponentParameter* parameter, bool force)
{
    if (!CVisibleObject::changeState(s, parameter, force))
    {
        return false;
    }
    
    if (s.empty())
    {
        getInnerSprite()->stopAllActions();
    }
    else
    {
        if (getCCBReader())
        {
            CCBAnimationManager* am = getCCBReader()->getAnimationManager();
            CCArray* seq = am->getSequences();
            CCObject* pObj;
            CCARRAY_FOREACH(seq, pObj)
            {
                CCBSequence *seq = (CCBSequence*)pObj;
                if (s.compare(seq->getName()) == 0)
                {
                    am->runAnimations(seq->getSequenceId(), 0);
                }
            }
//            getCCBReader()->getAnimationManager()->runAnimations(s.c_str());
        }
    }
Example #2
0
void TFHPBar::update(float dt)
{
    CSpriteObject::update(dt);
    
    CCPoint pt(1, -3);
    // rewrite later!!
    pt = getInnerSprite()->convertToWorldSpace(pt);
    pt = m_pBar->convertToNodeSpace(pt);
    m_pBar->setSpritePosition(pt);
}
bool CSpriteObject::setSprite(const char* name)
{
    setInnerSprite(CCSprite::createWithSpriteFrameName(name));
    
    if (NULL == getInnerSprite())
    {
        return false;
    }
    setCCBReader(NULL);
    return true;
}
Example #4
0
void TFHPBar::updateBar()
{
    if (NULL == getInnerSprite() || NULL == m_pBar)
    {
        return;
    }
    
    if (FLT_EQUAL(m_percentage, 0.f))
    {
        m_pBar->setSpriteVisible(false);
    }
    else
    {
        m_pBar->setSpriteVisible(true);
        
        CCSize sz = m_pBar->getSpriteContentSize();
        sz.width = OrigBarSize_.width * m_percentage;

        m_pBar->setSpritePreferredSize(sz);
    }
}
Example #5
0
bool TFSpriteObject::changeState(const string& s)
{
    if (!TFVisibleObject::changeState(s))
    {
        return false;
    }
    
    if (s.empty())
    {
        getInnerSprite()->stopAllActions();
    }
    else
    {
        if (getCCBReader())
        {
            getCCBReader()->getAnimationManager()->runAnimations(s.c_str());
        }
    }
    
    return true;
}
bool CSpriteObject::setSpriteFromCcbi(const char* name)
{
    // Create auto-release node loader
    CCNodeLoaderLibrary* ccNodeLoaderLibrary = CCNodeLoaderLibrary::newDefaultCCNodeLoaderLibrary();

    // Create a CCBReader, auto release.
    CCBReader * ccbReader = new CCBReader(ccNodeLoaderLibrary);
    ccbReader->autorelease();

    // Read a ccbi file, return a CCNode instance.
    setInnerSprite(dynamic_cast<CCSprite*>(ccbReader->readNodeGraphFromFile(name, this)));

    if (NULL == getInnerSprite())
    {
        return false;
    }

    ccbReader->getAnimationManager()->setDelegate(this);
    
    setCCBReader(ccbReader);
    return true;
}