cocos2dx DrawNode和ClippingRectangleNode 使用详解

来源:互联网 发布:淘宝短网址生成 编辑:程序博客网 时间:2024/05/20 09:09
cocos2dx DrawNode和ClippingRectangleNode 使用详解    auto s = Director::getInstance()->getWinSize();        auto layer = LayerGradient::create(Color4B(0,255,0,255), Color4B(255,255,0,255));    layer->setIgnoreAnchorPointForPosition(false);    layer->setPosition(Vec2(s.width/2, s.height/2));    this->addChild(layer);        auto draw = DrawNode::create();    addChild(draw, 20);    draw->setLineWidth(20);    draw->drawLine(Vec2(0,s.height/2.0), Vec2(s.width/2.0, s.height/2.0), Color4F(1.0, 1.0, 1.0, 1.0));        auto moveby = MoveBy::create(0.0, Vec2(-s.width/4.0, 0));    draw->runAction(moveby);    moveby = MoveBy::create(4.0, Vec2(s.width/4.0, 0));    draw->runAction(moveby);        {        auto draw1 = DrawNode::create();        addChild(draw1, 20);        draw1->setLineWidth(20);        draw1->drawLine(Vec2(s.width/2.0,s.height), Vec2(s.width, s.height), Color4F(1.0, 1.0, 1.0, 1.0));        auto moveby = MoveBy::create(4.0, Vec2(0, -s.height/2.0));        draw1->runAction(moveby);    }        {        auto clipper = ClippingRectangleNode::create();        clipper->setClippingRegion(Rect( -s.width/4.0, -s.height/2.0, s.width/2.0, s.height));//模板大小        this->addChild(clipper);        clipper->setAnchorPoint(  Vec2(0.5, 0.5) );        clipper->setPosition(Vec2(s.width/2.0 + s.width/4.0, s.height/2.0 + s.height/2.0));                auto content = Sprite::create(s_back2);        content->setAnchorPoint(  Vec2(0.5, 0.5) );        content->setPosition(0.0, 0.0);        clipper->addChild(content);//底板                auto moveby = MoveBy::create(5.0, Vec2(0, -s.height/2.0));        clipper->runAction(moveby);    }        {        auto clipper = ClippingRectangleNode::create();        clipper->setClippingRegion(Rect( -s.width/4.0, -s.height/4.0, s.width/2.0, s.height/2.0));//模板大小        this->addChild(clipper);        clipper->setAnchorPoint(  Vec2(0.5, 0.5) );        clipper->setPosition(Vec2(s.width/2.0 - s.width/4.0, s.height/2.0 + s.height/4.0));                auto content = Sprite::create(s_back2);        content->setAnchorPoint(  Vec2(0.5, 0.5) );        content->setPosition(0.0, 0.0);        clipper->addChild(content);//底板                auto moveby = MoveBy::create(2.0, Vec2(0, -s.height/4.0));        clipper->runAction(moveby);        auto delay = DelayTime::create(2.0);        moveby = MoveBy::create(5.0, Vec2(s.width/4.0, 0));        content->runAction(Sequence::create(delay, moveby, NULL));    }

原创粉丝点击