【已解决】CCArmature 可以设成半透明吗?

请问CCArmature 可以如何半透明?

私聊已解决
序列帧设置透明 2.1.4g版本 需要修改下代码

void CCDisplayManager::setCurrentDecorativeDisplay(CCDecorativeDisplay *decoDisplay)
{
#if ENABLE_PHYSICS_BOX2D_DETECT || ENABLE_PHYSICS_CHIPMUNK_DETECT
if (m_pCurrentDecoDisplay && m_pCurrentDecoDisplay->getColliderDetector())
{
m_pCurrentDecoDisplay->getColliderDetector()->setActive(false);
}
#endif

m_pCurrentDecoDisplay = decoDisplay;

#if ENABLE_PHYSICS_BOX2D_DETECT || ENABLE_PHYSICS_CHIPMUNK_DETECT
if (m_pCurrentDecoDisplay && m_pCurrentDecoDisplay->getColliderDetector())
{
m_pCurrentDecoDisplay->getColliderDetector()->setActive(true);
}
#endif

CCNode *displayRenderNode = m_pCurrentDecoDisplay == NULL ? NULL : m_pCurrentDecoDisplay->getDisplay();
if (m_pDisplayRenderNode)
{
    if (dynamic_cast<CCArmature *>(m_pDisplayRenderNode) != NULL)
    {
        m_pBone->setChildArmature(NULL);
    }

    m_pDisplayRenderNode->removeFromParentAndCleanup(true);
    m_pDisplayRenderNode->release();
}

m_pDisplayRenderNode = displayRenderNode;

if(m_pDisplayRenderNode)
{

	CCRGBAProtocol *protocol = dynamic_cast<CCRGBAProtocol *>(m_pDisplayRenderNode);
	if(protocol != NULL)
	{
		protocol->setColor(m_pBone->getColor());
		protocol->setOpacity(m_pBone->getOpacity());
	}

    if (dynamic_cast<CCArmature *>(m_pDisplayRenderNode) != NULL)
    {
        m_pBone->setChildArmature((CCArmature *)m_pDisplayRenderNode);
    }
    m_pDisplayRenderNode->retain();
	m_pDisplayRenderNode->setVisible(m_bVisible);
}

}

void CCBone::updateColor()
{
setColor(ccc3(_displayedColor.r * m_pTweenData->r / 255, _displayedColor.g * m_pTweenData->g / 255, _displayedColor.b * m_pTweenData->b / 255));
setOpacity(_displayedOpacity * m_pTweenData->a / 255);

CCNode *display = m_pDisplayManager->getDisplayRenderNode();
CCRGBAProtocol *protocol = dynamic_cast<CCRGBAProtocol *>(display);
if(protocol != NULL)
{
    protocol->setColor(_realColor);
    protocol->setOpacity(_realOpacity);
}

}

私聊已解决
序列帧设置透明 2.1.4g版本 需要修改下代码

void CCDisplayManager::setCurrentDecorativeDisplay(CCDecorativeDisplay *decoDisplay)
{
#if ENABLE_PHYSICS_BOX2D_DETECT || ENABLE_PHYSICS_CHIPMUNK_DETECT
if (m_pCurrentDecoDisplay && m_pCurrentDecoDisplay->getColliderDetector())
{
m_pCurrentDecoDisplay->getColliderDetector()->setActive(false);
}
#endif

m_pCurrentDecoDisplay = decoDisplay;

#if ENABLE_PHYSICS_BOX2D_DETECT || ENABLE_PHYSICS_CHIPMUNK_DETECT
if (m_pCurrentDecoDisplay && m_pCurrentDecoDisplay->getColliderDetector())
{
m_pCurrentDecoDisplay->getColliderDetector()->setActive(true);
}
#endif

CCNode *displayRenderNode = m_pCurrentDecoDisplay == NULL ? NULL : m_pCurrentDecoDisplay->getDisplay();
if (m_pDisplayRenderNode)
{
    if (dynamic_cast<CCArmature *>(m_pDisplayRenderNode) != NULL)
    {
        m_pBone->setChildArmature(NULL);
    }

    m_pDisplayRenderNode->removeFromParentAndCleanup(true);
    m_pDisplayRenderNode->release();
}

m_pDisplayRenderNode = displayRenderNode;

if(m_pDisplayRenderNode)
{

	CCRGBAProtocol *protocol = dynamic_cast<CCRGBAProtocol *>(m_pDisplayRenderNode);
	if(protocol != NULL)
	{
		protocol->setColor(m_pBone->getColor());
		protocol->setOpacity(m_pBone->getOpacity());
	}

    if (dynamic_cast<CCArmature *>(m_pDisplayRenderNode) != NULL)
    {
        m_pBone->setChildArmature((CCArmature *)m_pDisplayRenderNode);
    }
    m_pDisplayRenderNode->retain();
	m_pDisplayRenderNode->setVisible(m_bVisible);
}

}

void CCBone::updateColor()
{
setColor(ccc3(_displayedColor.r * m_pTweenData->r / 255, _displayedColor.g * m_pTweenData->g / 255, _displayedColor.b * m_pTweenData->b / 255));
setOpacity(_displayedOpacity * m_pTweenData->a / 255);

CCNode *display = m_pDisplayManager->getDisplayRenderNode();
CCRGBAProtocol *protocol = dynamic_cast<CCRGBAProtocol *>(display);
if(protocol != NULL)
{
    protocol->setColor(_realColor);
    protocol->setOpacity(_realOpacity);
}

}