Cocos2d-x3.1利用ClippingNode实现标题闪亮特效

1、掌握ClippingNode的原理与使用

2、创建Cocos工程

3、在HelloWorld.cpp代码中添加如下代码:

auto clip = ClippingNode::create();//创建裁剪节点
    auto gameTitle = Sprite::create("game_title.png");
    clip->setStencil(gameTitle);//设置裁剪模板
    clip->setAlphaThreshold(0);//设置透明度阈值
    clip->setContentSize(Size(gameTitle->getContentSize().width,gameTitle->getContentSize().height));//设置裁剪节点大小    
    auto clipSize = clip->getContentSize();//获取裁剪节点大小
    clip->setPosition(Vec2(visibleSize.width/2,visibleSize.height/2));//设置裁剪节点位置
    log("clipSize.x = %lf,clipSize.y = %lf",clipSize.width,clipSize.height);//log查看一下位置,没用的
    
    auto gameTitle_show = Sprite::create("game_title.png");//创建要显示的对象
    auto spark = Sprite::create("spark.png");//创建闪亮精灵
    clip->addChild(gameTitle_show,1);//把要显示的内容放在裁剪节点中,其实可以直接clip->addChild(gameTitle,1);此处为了说明更改显示内容
    spark->setPosition(Vec2(-visibleSize.width/2, 0));//设置闪亮精灵位置
    clip->addChild(spark,2);//添加闪亮精灵到裁剪节点
    addChild(clip,4);//添加裁剪节点
    
    auto moveAction = MoveTo::create(2.6, Vec2(clipSize.width, 0));//创建精灵节点的动作
    auto moveBack = MoveTo::create(2.6, Vec2(-clipSize.width, 0));
    auto seq = Sequence::create(moveAction,moveBack, NULL);
    auto repreatAction = RepeatForever::create(seq);
    spark->runAction(repreatAction);//精灵节点重复执行动作



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值