ClippingNode的应用

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值