首页 > 代码库 > Cocos2d-x3.1利用ClippingNode实现标题闪亮特效
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);//精灵节点重复执行动作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。