zoukankan      html  css  js  c++  java
  • cocos2d-x使用CCClippingNode实现跑马灯

    直接在代码,这是一个很好的包layer,可以直接调用  //原来白白

    bool TestLayer::init()
    {
        CCSize size = CCDirector::sharedDirector()->getVisibleSize();
          
    	//创建要显示的文字
        text = CCLabelTTF::create("text
    baibai
    fdffdd
    zimu
    haha
    jahjahjkd
    jhahaj
    ", "", 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);
    }


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    database join
    图像超分辨率重建
    信号处理
    将博客搬至CSDN
    Openstack
    nginx的优化
    CentOS系统的优化
    zabbix服务端客户端部署
    MySQL优化必须调整的10项配置
    TCP三次握手
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4685280.html
Copyright © 2011-2022 走看看