使用CCBlink实现闪烁的特效

使用CCBlink实现闪烁的特效

游戏中的某个按钮或者某个区域,为了重点吸引玩家去操作,会有闪烁的特效;可以使用CCBlink实现,下面是实现代码:

//闪烁效果
void LoginScene::shanShuo()
{
	//背景
	auto _img = static_cast<ImageView *>(this->csb->getChildByName("Image_10"));

	auto _sp = static_cast<Sprite *>(this->csb->getChildByName("Sprite_ss"));

    //第一个参数为闪烁效果的总时间,第二个参数为闪烁的次数
	CCActionInterval * blinkAction = CCBlink::create(2, 10);
	_sp->runAction(CCRepeatForever::create(blinkAction));
}

效果如下图:

 

使用CCBlink 精灵消失的问题:

之前遇到过这样的问题,使用CCBlink 精灵执行完动作之后,消失不见了,百度谷歌了一番,得知有可能出现精灵刚好到透明的那部分,所以最好在精灵执行完动作之后,让精灵setvisible显示出来。参考代码如下:

void Hero::afterHurt()//英雄闪烁之后有可能不见了,这里把它重新显示出来
{
	this->setVisible(true);
	wudi = false;
}


void Hero::hurt()
{
	hp--;
	if (hp >= 0)
	{
		//使用CCBlink之后必须等精灵执行完之后,强制设置精灵的可视值为true才能显示,否则有可能出现空白
		CCActionInterval*  action = CCBlink::create(1.0f, 3);
		CCFiniteTimeAction* action1 = CCSequence::create(action,CCCallFunc::create(this,
			callfunc_selector(Hero::afterHurt)),NULL);
		this->runAction(action1);
	}
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值