Cocos2d-x 3.x节点裁剪以及实现跑马灯
3.x节点裁剪还是很有作用的,很多功能都可以用上;
节点裁剪功能简介:
ClippingNode(裁剪节点)可以用来对节点进行裁剪,可以根据一个模板切割图片的节点,生成任何形状的节点显示。 ClippingNode是Node的子类,可以像普通节点一样放入Layer,Scene,Node中。
将
clipper->setInverted(true); 改为clipper->setInverted(false); 运行效果如图:
跑马灯实现:
跑马灯即游戏当中在特定区域滚动的公告显示;
附上代码:
/* 节点裁剪 */
//DrawNode *baseDraw = DrawNode::create(); //Vec2 triangle[4]; //triangle[0] = Vec2(200,200); //triangle[1] = Vec2(200,300); //triangle[2] = Vec2(500,300); //triangle[3] = Vec2(500,200); //Color4F blue(0,1,0); //baseDraw->drawPolygon(triangle,4,blue,blue); ////--------------------------------------- //auto labelText = Label::create(); // //labelText->setString("Text Label!!"); //labelText->setScale(2.0f); //labelText->setPosition(600,220); //auto clipper = ClippingNode::create(); //clipper->setPosition(visibleSize/2); //clipper->setStencil( baseDraw ); //clipper->setInverted(false); //clipper->addChild(labelText); //labelText->runAction(MoveTo::create(20.0f,Vec2(-600,220)); //clipper->setAlphaThreshold(1.0f); //addChild(clipper); 代码中坐标设置不对,自己改下就好了,用到了DrawNode可以自行百度使用。 本文可自由复制和转载! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |