cocos2dx 3.2 裁剪节点 ClippingNode

效果1:

wKioL1Q2K1zyVlF5AABvxwSUhrM302.gif

效果2:

wKiom1Q2s2vhdFf5AAjqUzp_E3c902.gif

代码:

//
//[1].背景图片
    Sprite* bg = Sprite::create("HelloWorld.png");
    bg->setPosition(visibleSize / 2);
    this->addChild(bg, -1);
 
 
//[2].创建主题文字 : gameTitle
    Sprite* gameTitle = Sprite::create("game_title.png");
 
    //获取尺寸大小
    Size clipSize = gameTitle->getContentSize();
 
 
//[3].创建底板的发光图片 : spark
    Sprite* spark = Sprite::create("spark.png");
    spark->setPosition(-clipSize.width, 0);
 
 
//[4].创建裁剪节点 : clippingNode
    ClippingNode* clippingNode = ClippingNode::create();
    clippingNode->setPosition(visibleSize / 2);
    this->addChild(clippingNode);
 
    clippingNode->setAlphaThreshold(0.05f); //设置alpha闸值
    clippingNode->setContentSize(clipSize); //设置尺寸大小
 
    clippingNode->setStencil(gameTitle);   //设置模板stencil
    clippingNode->addChild(gameTitle, 1);  //先添加标题,会完全显示出来,因为跟模板一样大小
    clippingNode->addChild(spark,2);       //会被裁减
 
 
//[5].左右移动spark
    MoveTo* moveAction = MoveTo::create(2.0f, Vec2(clipSize.width, 0));
    MoveTo* moveBackAction = MoveTo::create(2.0f, Vec2(-clipSize.width, 0));
    spark->runAction(RepeatForever::create(Sequence::create(moveAction, moveBackAction, NULL)));



效果3:

wKiom1Q20_OAe1ZAABnuEmWlvrk144.gif


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值