按钮闪光效果 (美美哒)

:2:.h

void  clipping(Node* menu, const std::string& filename);
```



:5: cpp

void BaseLayer::clipping(Node* menu, const std::string& filename)
{
 Vec2 point = menu->getPosition();
 Size size = menu->getContentSize();


 LayerColor * m_clip = CCLayerColor::create(ccc4(0, 0, 0, 0), size.width, size.height);
 ClippingNode* m_clipping = ClippingNode::create();
 //设置一些属性
 m_clipping->setInverted(false);
 m_clipping->setAlphaThreshold(0);
 m_clipping->addChild(m_clip);


 auto m_sp = Sprite::create(filename, Rect(0, 0, size.width, size.height));
 m_sp->setAnchorPoint(Vec2::ZERO);
 m_clipping->setStencil(m_sp);


 auto m_light = Sprite::create("Resources_UI/TF_UI/move_light.png");
 m_light->setScaleX(0.4);
 m_light->setRotation(-20);
 m_light->setOpacity(150);
 m_light->setPositionX(-size.width);
 m_clipping->addChild(m_light);




 float time = (size.width * 2) / 280;
 MoveBy* pMoveBy = MoveBy::create(time, Vec2(size.width * 2, 0));
 Hide* pHide = Hide::create();


 Sequence* pSequence = Sequence::create(pMoveBy, pHide, NULL);
 FiniteTimeAction* pAction = RepeatForever::create(pSequence);
 m_light->runAction(pAction);


 m_clipping->runAction(cocos2d::Sequence::createWithTwoActions(cocos2d::DelayTime::create(time), cocos2d::RemoveSelf::create()));
 menu->addChild(m_clipping);
}

```

:9: :15:
1赞

bulingbuling 先收藏啦

android上会有问题,裁剪失效

mark 有机会再用

:2: :2: :2: :2: :2: :2:

收藏收藏一下~!~~~

这个是cocos2d-x的C++的