cocos2dx混合模式應用———制作新手引導高亮區域


先看下效果

 

制造這個橢圓高亮區域所使用原圖是

 

附上代碼

bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !CCLayer::init() )
    {
        return false;
    }
    
    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
    CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();

    …………
    …………
    
    m_pTarget = CCRenderTexture::create(visibleSize.width, visibleSize.height, kCCTexture2DPixelFormat_RGBA8888);
    m_pTarget->setPosition(ccp(visibleSize.width / 2, visibleSize.height / 2));
    addChild(m_pTarget, 10000);

    return true;
}

void HelloWorld::setHighlightRect(const cocos2d::CCRect& rect)
{
    CCSprite* pMask = CCSprite::create("btn-about-normal.png");
    pMask->setPosition(ccp(rect.origin.x,rect.origin.y));
    pMask->setAnchorPoint(ccp(0,0));
    pMask->setScaleX(rect.size.width/pMask->getContentSize().width);
    pMask->setScaleY(rect.size.height/pMask->getContentSize().height);

    ccBlendFunc blend;
    blend.src = GL_ZERO;
    blend.dst = GL_ONE_MINUS_SRC_ALPHA;
    pMask->setBlendFunc(blend);

    m_pTarget->clear(0,0,0,0.8f);
    m_pTarget->begin();
    pMask->visit();
    m_pTarget->end();
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM