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)); }
cocos2dx DrawNode和ClippingRectangleNode 使用详解
猜你喜欢
转载自blog.csdn.net/jeffasd/article/details/78816807
今日推荐
周排行