(1)用裁剪区域ClippingNode实现滚动字幕
//创建要显示的文字
text = Labe::create("text\nbaibai\n白白\nbaibai\nhaha\nhaha\nahha\n", "", 30);
text->setPosition(Vec2(100, -120));
//绘制裁剪区域
DrawNode* shap = DrawNode::create();
Vec2 point[4] = {Vec2(0,0), Vec2(200, 0), Vec2(200, 200), Vec2(0, 200)};
shap->drawPolygon(point, 4, Color4F::WHITE, 2, Color4F::WHITE);
ClippingNode* cliper = ClippingNode::create();
cliper->setStencil(shap);
cliper->setAnchorPoint(ccp(.5, .5));
cliper->setPosition(ccp(100, 20));
addChild(cliper);
//把要滚动的文字加入到裁剪区域
cliper->addChild(text);
//文字滚动,超出范围后从新开始
schedule(schedule_selector(HelloWorld::rollText));
void TestLayer::rollText(float)
{
text->getPositionY()>300 ? text->setPositionY(-150) : text->setPositionY(text->
getPositionY()+2);
}
(2)跑马灯效果
http://www.mamicode.com/info-detail-247772.html