cocos2d-x之CCClippingNode实现滚动字幕
2014-07-03 21:06
405 查看
直接上代码,这是封装好了的layer,可以直接调用
bool TestLayer::init()
{
CCSize size = CCDirector::sharedDirector()->getVisibleSize();
//创建要显示的文字
text = CCLabelTTF::create("FUCKVS\FUCKMicro\FUCKGoogle\FUCKTecent", "", 30);
text->setPosition(ccp(100, -120));
//绘制裁剪区域
CCDrawNode* shap = CCDrawNode::create();
CCPoint point[4] = {ccp(0,0), ccp(200, 0), ccp(200, 200), ccp(0, 200)};
shap->drawPolygon(point, 4, ccc4f(355, 255, 255, 255), 2, ccc4f(255, 255, 255, 255));
CCClippingNode* cliper = CCClippingNode::create();
cliper->setStencil(shap);
cliper->setAnchorPoint(ccp(.5, .5));
cliper->setPosition(ccp(100, 20));
addChild(cliper);
//把要滚动的文字加入到裁剪区域
cliper->addChild(text);
//文字滚动,超出范围后从新开始
schedule(schedule_selector(CTestLayer::rollText));
return true;
}
void TestLayer::rollText(float)
{
text->getPositionY()>300 ? text->setPositionY(-150) : text->setPositionY(text->getPositionY()+2);
}
bool TestLayer::init()
{
CCSize size = CCDirector::sharedDirector()->getVisibleSize();
//创建要显示的文字
text = CCLabelTTF::create("FUCKVS\FUCKMicro\FUCKGoogle\FUCKTecent", "", 30);
text->setPosition(ccp(100, -120));
//绘制裁剪区域
CCDrawNode* shap = CCDrawNode::create();
CCPoint point[4] = {ccp(0,0), ccp(200, 0), ccp(200, 200), ccp(0, 200)};
shap->drawPolygon(point, 4, ccc4f(355, 255, 255, 255), 2, ccc4f(255, 255, 255, 255));
CCClippingNode* cliper = CCClippingNode::create();
cliper->setStencil(shap);
cliper->setAnchorPoint(ccp(.5, .5));
cliper->setPosition(ccp(100, 20));
addChild(cliper);
//把要滚动的文字加入到裁剪区域
cliper->addChild(text);
//文字滚动,超出范围后从新开始
schedule(schedule_selector(CTestLayer::rollText));
return true;
}
void TestLayer::rollText(float)
{
text->getPositionY()>300 ? text->setPositionY(-150) : text->setPositionY(text->getPositionY()+2);
}
相关文章推荐
- cocos2d-x利用CCClippingNode实现滚动字幕
- cocos2dx用裁剪区域CCClippingNode实现滚动字幕
- cocos2dx用裁剪区域CCClippingNode实现滚动字幕
- CCClippingNode(Clip修剪 可以实现新手引导遮罩、滚动字幕。。渲染child时仅渲染模板透明度值大于透明度阀值的像素点.默认透明度阀值 =1)
- cocos2d-x 2.2.0 图片选中聚焦 ,图片描边 CCClippingNode 实现
- cocos2d-x 基于CCClippingNode实现CCLayer遮罩功能,在滑动时超出剪切区域的实现显示部分的效果,不需要再借助其他sprite来遮挡了
- cocos2d-x 2.2.0 图片选中聚焦 ,图片描边 CCClippingNode 实现
- cocos2d-x使用CCClippingNode实现跑马灯
- cocos2d-x初探学习笔记(30)2.1新特性之CCClippingNode
- 解决cocos2d-x的CCClippingNode在iOS上没效果的问题
- cocos2dx- CCScrollLayer (cocos2d中实现的滚动层)
- [置顶] cocos2d实现类似CCMenu菜单类控件,在CCScrollView滚动, lua脚本控件
- CCLayer 与 CCParallaxNode 结合实现视差滚动界面应注意的地方
- 解决 cocos2d-x CCClippingNode 无效
- cocos2d实现类似CCMenu菜单类控件,在CCScrollView滚动, lua脚本控件
- 关于cocos2d-js中使用 ClippingNode 以及 BlendFunc 来实现遮罩
- cocos2d-x 2.1新特性之CCClippingNode
- cocos2d-x新特性之CCClippingNode
- cocos2d-x初探学习笔记(30)2.1新特性之CCClippingNode
- cocos2d-x初探学习笔记(30)2.1新特性之CCClippingNode